19 января, суббота 09:46
Bankir.Ru

Объявление

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

автоматическое формирование выписок

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

  • автоматическое формирование выписок

    День добрый!
    Есть задача дать команду ДИАСОФТу в определённое время сформировать выписку с определёнными параметрами и положить её (выписку) в определённое место в формате txt.
    Вообще диасофт потдерживает такую функцию?

    Дело в том, что каждое утро приходится печатать набор всякого рода бумаг, а это занимат время...
    Как организовать печать сформированых документов уже придумано. осталось сформировать!


    p/s
    Если подобная тема и была, не нарыл

  • #2
    всё есть, всё работает!
    ЗАДАЧА РЕШЕНА!

    Комментарий


    • #3
      Radioaktiv, а можно поподробнее?
      Мы только переходим на Диасофт, поэтому все интересно))

      Комментарий


      • #4
        Пишете tpr-отчет (или модифицируете имеющийся), в отчете можно указать путь, кда будет положен сформированный файл.txt (это можно сделать 2 способами, как минимум). Потом вставляете задание на запуск этого отчета в расписание заданий (про это - в CORE_ADM.chm).

        Комментарий


        • #5
          Доброго времени суток!

          В продолжение данной темы вопрос...
          Условия прежние - нужно формировать отчеты в основном в ночное время, только отчет не txt, а Экселевские (сам отчет tpr-ный, выгружает данные через xml в Эксел).
          при формировании отчета используем [Mark], так как отчет архивный.


          У расписания в Диасофте, которым хотим данный отчет запускать в ночное время, есть ограничение - нельзя в расписание передавать отчет имеющий какие либо параметры, которые отображаются на форме запуска отчета при обычном запуске. в Отчет насколько я понял может передаваться только системная дата ateStart. Но это ладно - параметры в конце концов можно начитать через некую промежуточную таблицу.

          Вопрос, а насколько хорошо расписание работает при формировании отчетов с форматами отличными от TXT?
          Пока мои экспериметны показывают, что не работает!
          Может кто подскажет что сделать чтобы работало?
          Последний раз редактировалось BukvaED; 10.04.2013, 16:20.

          Комментарий


          • #6
            IMHO лучше воспользоваться RepExecutor. Туда можно передавать параметры как надо, а запускать через bat-файл и стандартный windows scheduler.

            Комментарий


            • #7
              И снова, Здравствуйте!

              loo спасибо за наводку!

              До сегодняшнего дня руки не доходили до отчета. Но вот дошли!

              Успехи есть но не в тех масштабах, которые ожидались:

              Создал батник, создал txt-ник с параметрами.
              отчет по одному клиенту стал формироваться не сразу (было несколько неудачных попыток), но после того как я у tpr-ника отключил параметр "Архив" и закоментил на закладке Шаблон метку //#@MarkID@ (которая ссылается на секцию
              [Mark]
              @MarkID@=Mark{@InstRelationID_U@,ACCRUAL,True,True}), саму секцию тоже закоментил.... - отчет сформировался без вопросов!!!! ))))


              Но остались вопросы.....
              Почему при подключении "марковника" отчет не формируется через RepExecutor (вызываемый через расписание заданий модуля администратора)?
              Почему при подключении "марковника" отчет не формируется если запускать батник (в котором вызывается RepExecutor) из командной строки?
              Последний раз редактировалось BukvaED; 22.05.2013, 16:07.

              Комментарий


              • #8
                Сообщение от BukvaED Посмотреть сообщение
                И снова, Здравствуйте!
                Но остались вопросы.....
                Почему при подключении "марковника" отчет не формируется через RepExecutor (вызываемый через расписание заданий модуля администратора)?
                Почему при подключении "марковника" отчет не формируется если запускать батник (в котором вызывается RepExecutor) из командной строки?
                У Вас отметки проставляются поиском? Похоже RepExecutor так не умеет - надо писать формулу

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

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

                Комментарий


                • #9
                  loo wrote
                  "У Вас отметки проставляются поиском?"

                  не знаю.... честно сказать не очень понял понял Ваш вопрос...
                  В обычном режиме пользователи выделяют ДО, по которым и строиться отчет.


                  loo wrote
                  "В случае необходимости сохранить отметки для последующего использования в отчете необходимо
                  вызвать формулу, которая должна сохранить отметки, которые далее будет использовать отчет."

                  А не знаете куда сохраняются отметки для использования последующего - не в TdocMark случаем?

                  если у меня в обычном режиме запуска отчета (т.е. через интерфейс) - @MarkID@=Mark{@InstRelationID_U@,ACCRUAL,True,True} - метка @Mark@ принадлежит таблице ДО - ACCRUAL

                  то куда её нужно сохранять при запуске отчета через RepExecutor&

                  Комментарий


                  • #10
                    ранее я писал

                    Сообщение от BukvaED Посмотреть сообщение
                    но после того как я у tpr-ника отключил параметр "Архив" и


                    Сегодня проделал следующее:

                    в txt файл прописал параметры

                    SAMPLE=Отчет брокера 2013
                    RESULT=c:\BROKER_EMAIL\
                    @Date_St = 17/05/2013
                    @Date_En = 17/05/2013
                    @Forts = 0
                    @FSendMail = 0
                    @ReportDate = 0
                    @ModeCalc = 0
                    @HeadOper = 0
                    @MainOff = 0
                    @InstRel_E = 2010021106459 --новый параметр ДО, добавил сегодня
                    RUN


                    SAMPLE=Отчет брокера 2013
                    RESULT=c:\BROKER_EMAIL\
                    @Date_St = 17/05/2013
                    @Date_En = 17/05/2013
                    @Forts = 0
                    @FSendMail = 0
                    @ReportDate = 0
                    @ModeCalc = 0
                    @HeadOper = 0
                    @MainOff = 0
                    @InstRel_E = 2010000003427 --новый параметр ДО, добавил сегодня
                    RUN

                    так как появился ДО, как параметр то добавил его и в сам отчет (чтобы он был на форме сбора отчета)

                    установил крыж Архив на tpr-нике (при этом отметка #@Mark@ закоментарена на закладке Шаблон)

                    запустил выполнение очета через батник.

                    Результат: положительный - сформировались 2 отчета, которые отображаются по п.меню "Архив отчета".


                    после раскомментаривания отметки #@Mark@ и запуска очета через батник - результат отрицательный


                    Т.о. как бы включение/выключение крыжика "Архив" на самом tpr-нике не должно оказывать влияние- стало быть проблема именно в отметке #@Mark@.


                    так что сейчас получаются крайности - либо отчет с Markовником, который пользователи запускают в течении дня (выделяя ДО)
                    либо отчет без Markовника, формируемый только ночью
                    А хочется же золотую середину

                    Комментарий


                    • #11
                      Я не самый видный специалист по tpr-отчетам, но на форме редактирования отчета (не образца!!!) есть такая штучка - поиск. Вроде бы по идее он должен "отмечать" нужное (например ДО). Если пользователи это делают отметками, то они сохраняются в tDocMark и там их видит отчет. Но ночью этого сделать некому Поэтому, по логике, нужно написать формулу которая найдет нужные ДО и запишет их в tDocMark с тем же SPID с которым будет запускаться отчет.
                      Сам я этого делать не пробовал
                      Последний раз редактировалось loo; 29.05.2013, 17:33.

                      Комментарий


                      • #12
                        loo, я узнал что такое Поиск! Могу собой гордится

                        попробовал! начитываю в Поике инcертом в Tdocmark, те ДО которые мне интересны, но все равно с марковником не формируются отчеты через RepExecutor.

                        некоторое время назад отправил в диас письмо. вот сегодня пришел ответ.

                        цитата:

                        "
                        Вопрос:

                        Подскажите пожалуйста на версии 6.8.4.21 SP68 4.8.120 будет ли
                        формироваться Tpr - отчеты имеющие параметр Архив, секцию mark и метку
                        #@Mark@ (на закладке Шаблон) и использованием утилиты RepEXECUTOR.
                        Пока у меня складывается что на данной версии при использовании Mark в tpr
                        - нике формирование отчета не производится, без Mark - все формируется
                        нормально!
                        Если все же отчеты формироваться должны с использованием утилиты
                        RepEXECUTOR - на что можно обратить внимание, на какие причины, которые
                        могут препятствовать формированию отчетов с вышеуказанными свойствами?


                        Решение:


                        Добрый день.

                        При выделении объекта через интерфейс системы в таблицу tDocMark заносится запись с определенным SPID'ом, который в свою очередь утилита RepEXECUTOR получить не может. Таким образом не рекомендовано использовать секцию [Mark] в теле отчетов, котрые будт запускаться утилитой RepEXECUTOR.
                        "

                        Попросил их описать это дело в доке - обещали!

                        похоже придется пока оставить эту идею - о возможности формирования отчета с марковником как днем так и ночью (утилитой RepEXECUTOR)

                        Комментарий


                        • #13
                          Так Вы использовали поиск (настраивается на форме отчета) или формулу, которая прописывается в файл для RepExecutor, как рекомендовано в их текущей документации?

                          Комментарий


                          • #14
                            Сообщение от loo Посмотреть сообщение
                            Так Вы использовали поиск (настраивается на форме отчета) или формулу, которая прописывается в файл для RepExecutor, как рекомендовано в их текущей документации?
                            Я ранее писал.....
                            Сообщение от BukvaED Посмотреть сообщение
                            начитываю в Поике инcертом в Tdocmark, те ДО которые мне интересны,
                            Я с Вашей подачи пошел на форму редактирования отчета, в лукапе Поиск вбил формулу примерно следующего содержания

                            delete tDocMark from tDocMark where SPID = @@spid
                            INSERT INTO tDocMark ( SPID, Type,ID) SELECT @@spid, 1, 10000022222
                            потом запустил отчет через RepExecutor.

                            Результат отрицательный - ничего не сформировалось.

                            Через формулу, которую нужно указать в файле для RepExecutor-а - не пробовал

                            Займусь чуть позже, наверное......


                            Я себя поймал вот на какой мысли... Дока Диасофта говорит о разных <ТАБЛИЦА>-х типа

                            ACCRUAL Договора обслуживания
                            ARCHIVE Архив документов
                            AUDIT Аудит
                            CBDEAL Сделки Клиринговый брокер

                            но нигде не сказано как они заполняются (хотя мог и плохо поискать ). Предположу, что они заполняются через клиентскую часть в момент когда пользователи выделяют пробелом объекты (одновременно с заполнением tDocMark-a). Может кто точно знает, а?
                            Если это так, то есть ли обходной способ заполнения этих <ТАБЛИЦ>?

                            Комментарий


                            • #15
                              Сообщение от BukvaED Посмотреть сообщение
                              Доброго времени суток!

                              В продолжение данной темы вопрос...
                              Условия прежние - нужно формировать отчеты в основном в ночное время, только отчет не txt, а Экселевские (сам отчет tpr-ный, выгружает данные через xml в Эксел).
                              при формировании отчета используем [Mark], так как отчет архивный.


                              У расписания в Диасофте, которым хотим данный отчет запускать в ночное время, есть ограничение - нельзя в расписание передавать отчет имеющий какие либо параметры, которые отображаются на форме запуска отчета при обычном запуске. в Отчет насколько я понял может передаваться только системная дата ateStart. Но это ладно - параметры в конце концов можно начитать через некую промежуточную таблицу.

                              Вопрос, а насколько хорошо расписание работает при формировании отчетов с форматами отличными от TXT?
                              Пока мои экспериметны показывают, что не работает!
                              Может кто подскажет что сделать чтобы работало?

                              BukvaED, день добрый!

                              Я понимаю Вашу задачу следующим образом: ночью выгрузить данные в определённом формате по некоторому набору договоров обслуживания.

                              Судя по предыдущим сообщениям, вы используете архив отчётов и секцию mark.
                              И говорите, что отчёт не работает в автоматическом режиме при включенном архиве и секции mark.
                              Это правильная работа.
                              Секция mark указывает отчёту, что надо обрабатывать только те данные, по которым есть записи в tDocMark с текущим SPID и в соответствии с типом "ACCRUAL" (то ли начисления то ли договора обслуживания, точно не помню).
                              Если записи в таблице отсутствуют, то результат пустой.
                              Поместить их можно внутри отчёта.
                              Я предлагаю использовать в тексте отчёта следующую конструкцию:
                              if %ParamName! > 0
                              begin
                              delete tDocMark
                              from tDocMark #M_ROWOCK_INDEX(2)
                              where SPID = @@spid
                              and Type = ACCRUAL -- заменить на числовое значение, полученное из Ctrl+Alt+Q путем отметки в параметре %ParamName! объектов

                              Insert tDocMark(SPID, Type, ID)
                              select @@spid, ACCRUAL, %ParamName!
                              end

                              И тогда у Вас заработает отчёт и с архивом и с mark и в автоматическом режиме через repexecutor. Правда в этом случае надо будет передать нужный ID в @InstRel_E = 2010021106459

                              Будут вопросы - задавайте, отвечу.
                              :up:
                              Володя.

                              Комментарий


                              • #16
                                Здравствуйте, все!
                                to Володя
                                Посмотрите плиз. я сделал самый простой вариант отчета...
                                в котором в отчет выводится номер клиента банка (внутренний ID).
                                Задача прежняя - получить через RepExecutor отдельный отчет для каждого клиента, сохраненный в архив.
                                На закладке описание я прописал примерно то что Вы рекомендуете...

                                @SQL00@ = SQL{

                                if %ClientID! > 0
                                begin
                                delete tDocMark
                                from tDocMark #M_ROWOCK_INDEX(2)
                                where SPID = @@spid
                                and Type = 1 -- заменить на числовое значение, полученное из Ctrl+Alt+Q путем отметки в параметре %ParamName! объектов
                                --прим BukvaED - 1 соответствует типу выделенной записи в справочнике клиентов
                                Insert tDocMark(SPID, Type, ID)
                                select @@spid, 1, %ClientID!
                                end
                                select i.InstitutionID as ID_, convert(varchar(25),i.InstitutionID) as VarID from tDocMark d (nolock), tInstitution i (nolock)
                                where d.Type = 1 and d.Spid = @@spid and i.InstitutionID = d.ID
                                }
                                [Mark]
                                @MarkID@=Mark{@ID@,INST}
                                [Fields]
                                @ID@=Field{ID_,@n15t}
                                @varID@=Field{varID,@s35t}

                                при запуске отчета через RepExecutor отчет не формируется, хотя по логиге вещей в управляющем txt файле содержится информация о клиенте (команда @ClientID)
                                SAMPLE=test1
                                RESULT=c:\temp\
                                @ClientID = 2000
                                RUN
                                из скринов видно что RepExecutor исполняет команды управляющего файла... .
                                не подскажите, Володя, в чем дело-то? Может от версии RepExecutor -а это зависит? Хотя что-то сомнительно!!!!
                                Вложения
                                Последний раз редактировалось BukvaED; 05.06.2013, 17:45.

                                Комментарий


                                • #17
                                  BukvaED, день добрый.

                                  По отчёту.
                                  В нём на закладке "Шаблон" надо поменять местами #@MarkID@ и #@SQL00@

                                  Сейчас есть:
                                  #@MarkID@
                                  #@SQL00@

                                  Должно быть
                                  #@SQL00@
                                  #@MarkID@

                                  В этом случае сначала отработает наш код, заполняющий tDocMark, а потом уже будет работать фильтр из MarkID

                                  Внеся изменения, я проверил. Всё отработало.
                                  Отчёт был настроен как с переключателем "Архив" так и без этого признака.

                                  Успехов.
                                  :up:
                                  Володя.

                                  Комментарий


                                  • #18
                                    to Володя
                                    Попробовал - все работает!
                                    Спасибо! Дествительно не ожидал, что "ларчик просто открывался".

                                    Комментарий


                                    • #19
                                      А собственно параметры в отчет как-то можно передать?
                                      Например, чтобы задание запускало отчет за определенную дату?
                                      Сегодня проделал следующее:

                                      в txt файл прописал параметры

                                      SAMPLE=Отчет брокера 2013
                                      RESULT=c:\BROKER_EMAIL\
                                      @Date_St = 17/05/2013
                                      @Date_En = 17/05/2013
                                      @Forts = 0
                                      @FSendMail = 0
                                      @ReportDate = 0
                                      @ModeCalc = 0
                                      @HeadOper = 0
                                      @MainOff = 0
                                      @InstRel_E = 2010021106459 --новый параметр ДО, добавил сегодня
                                      RUN
                                      Вот это что за файл и как это работает, можно пояснить?

                                      Комментарий


                                      • #20
                                        Сообщение от zbc Посмотреть сообщение
                                        А собственно параметры в отчет как-то можно передать?
                                        Например, чтобы задание запускало отчет за определенную дату?

                                        Вот это что за файл и как это работает, можно пояснить?
                                        Для передачи параметров указывается @ и имя параметра, как в отчёте указано в символах %! и через = значение.

                                        Например, если в отчёте запрашивается параметр %Date_St!, то указывается параметр @Date_St.
                                        :up:
                                        Володя.

                                        Комментарий


                                        • #21
                                          Сообщение от Володя Посмотреть сообщение
                                          Для передачи параметров указывается @ и имя параметра, как в отчёте указано в символах %! и через = значение.

                                          Например, если в отчёте запрашивается параметр %Date_St!, то указывается параметр @Date_St.
                                          Если отчет под автоматическую отработку, то все "параметры" в нём отключены.
                                          Или вы имеете в виду какой-то способ, как запустить отчет с интерфейсными параметрами так, чтобы он ничего в интерфейсом не запрашивал, и эти параметры примут нужное значение?

                                          Комментарий


                                          • #22
                                            Сообщение от zbc Посмотреть сообщение
                                            Если отчет под автоматическую отработку, то все "параметры" в нём отключены.
                                            Или вы имеете в виду какой-то способ, как запустить отчет с интерфейсными параметрами так, чтобы он ничего в интерфейсом не запрашивал, и эти параметры примут нужное значение?
                                            Уважаемый zbc.
                                            Для выполнения отчёта без вопросов к пользователю существует механизм пакетного выполнения отчётов (RepExecutor).
                                            В кратце работает так: по файлу с командами и параметрами отчёта запускается отчёт, передаются параметры и результат размещается по указанному пути.
                                            Более подробно описан в документации.

                                            В вашем примере
                                            Сообщение от zbc Посмотреть сообщение
                                            SAMPLE=Отчет брокера 2013
                                            RESULT=c:\BROKER_EMAIL\
                                            @Date_St = 17/05/2013
                                            @Date_En = 17/05/2013
                                            @Forts = 0
                                            @FSendMail = 0
                                            @ReportDate = 0
                                            @ModeCalc = 0
                                            @HeadOper = 0
                                            @MainOff = 0
                                            @InstRel_E = 2010021106459 --новый параметр ДО, добавил сегодня
                                            RUN
                                            Диасофт выполнит следующе:
                                            1. Найдёт отчет с сокращеним "Отчет брокера 2013" (select * from tSample where Brief = 'Отчет брокера 2013')
                                            2. Запустит отчёт на исполнение, в качестве параметров отчёта указав
                                            %Date_St! = 17/05/2013
                                            %Date_En! = 17/05/2013
                                            %Forts! = 0
                                            %FSendMail! = 0
                                            %ReportDate! = 0
                                            %ModeCalc! = 0
                                            %HeadOper! = 0
                                            %MainOff! = 0
                                            %InstRel_E! = 2010021106459 --новый параметр ДО, добавил сегодня
                                            3. Результат работы отчёта будет размещён в c:\BROKER_EMAIL\
                                            4. Работа будет закончена.

                                            Если Вам необходимо запускать отчёт за какую-то конкретную дату, Вам надо в файл txt в строки с
                                            @Date_St = 17/05/2013
                                            @Date_En = 17/05/2013
                                            помещать после "=" нужную дату в формате ДД/ММ/ГГГГ.
                                            И отчёт будет запускаться за дату ДД/ММ/ГГГГ.

                                            Будут вопросы - спрашивайте.
                                            Помогу чем смогу.
                                            :up:
                                            Володя.

                                            Комментарий

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

                                            Свернуть

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

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