23 октября, вторник 12:45
Bankir.Ru

Объявление

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

Отчеты Диасофта

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

  • Отчеты Диасофта

    Ребята привет! Подскажите начинающему, где хранит диос временные таблицы, которые создаются в отчетах (разумеется если отменить их удаление в конце отчета)? Всем заранее благодарен.

  • #2
    в tempdb

    Комментарий


    • #3
      Точно! Спасибо. Вот только именует таблицы таким образом:'#Procentus__________________________________________________________________________________________________________0000000009F3'
      Не могу запрос сделать...

      Комментарий


      • #4
        Если именовать таблицу как #table, то она создается в tempdb и соответственно обращаться к ней так и надо #table. Доступна таблица только в текущем сеансе сооединения (только тому кто создал). Удаляется сама при закрытии сеанса.
        www.SQL.ru Вам в помощь.

        Комментарий


        • #5
          Спасибо! Будем учиться.

          Комментарий


          • #6
            Хорошо бы иметь тему в которой одной задвать вопросы по Отчетам диасофта, хотя бы чтобы не рыться в темах, может уже спрашивал кто.

            И так мой глупый вопрос:
            Как корректно программным образом прервать выполнение отчета? (например при выполнении какого либо условия выполнение которого выясняется во время выполнения отчета - хорошо сказал ) Проблема вообще такая : выгрузка УФЭБС выполняется отчетом, плат. требование выгружается либо типом 103 либо 110, ГРКЦ строго запретило выгружать требования и присылать им. Тем не менее существует вероятность что операционист выделит требование и отправит его в ГРКЦ. По всей видимости единственным вариантом завернуть такой пакет является, завернуть отчет (который выгружается в файл). Может кто что предложит умнее?
            С удовольствием делаю только то, что относится на счета доходов... либо на счета 613

            Комментарий


            • #7
              Сообщение от Prince Посмотреть сообщение
              Тем не менее существует вероятность что операционист выделит требование и отправит его в ГРКЦ. По всей видимости единственным вариантом завернуть такой пакет является, завернуть отчет (который выгружается в файл). Может кто что предложит умнее?
              А почему бы в итоговом селекте не зажаться на вид операции? ВО = 2 для требования, если я не ошибаюсь? Либо можно даже развести документы по разним состояниям в зависимости от ВО. Или есть случаи когда вида операции недостаточно? что-то давненько не смотрел туда, не вспомню навскидку...

              Комментарий


              • #8
                Сообщение от AndyElf Посмотреть сообщение
                А почему бы в итоговом селекте не зажаться на вид операции? ВО = 2 для требования, если я не ошибаюсь? Либо можно даже развести документы по разним состояниям в зависимости от ВО. Или есть случаи когда вида операции недостаточно? что-то давненько не смотрел туда, не вспомню навскидку...
                Данные для отчета на сколько я понимаю готовятся до отчета (при подгготовке рейса, там уже известно сколько документов хранится в tLoadSession), так что изменение данных в выгружаемом отчете довольно трудоемкий вариант вроде как будет. Поэтом хотелось именно преравать если обноружены документы требования во времф формирования. (ВО=2)

                Разнести по состояниям Вы что имеете ввиду? На этапе перевода в состояние на выгрузку?
                С удовольствием делаю только то, что относится на счета доходов... либо на счета 613

                Комментарий


                • #9
                  Сообщение от Prince Посмотреть сообщение
                  Разнести по состояниям Вы что имеете ввиду? На этапе перевода в состояние на выгрузку?
                  Именно. Можно настроить DSP_NODE для автоматического перевода документов с ВО=1 в одно конечное состояние, всех остальных - в другое. На первом поставить признак выгрузки, на другом нет. Все отмеченные документы из второго состояния будут отбракованы на этапе формирования реестра, что и требовалось...
                  Если не понравится этот - я придумал еще один сугубо извращенный способ решения Вашей задачи :-).

                  Комментарий


                  • #10
                    Сообщение от AndyElf Посмотреть сообщение
                    Именно. Можно настроить DSP_NODE для автоматического перевода документов с ВО=1 в одно конечное состояние, всех остальных - в другое. На первом поставить признак выгрузки, на другом нет. Все отмеченные документы из второго состояния будут отбракованы на этапе формирования реестра, что и требовалось...
                    Если не понравится этот - я придумал еще один сугубо извращенный способ решения Вашей задачи :-).
                    Ну а Вы предложите, я подумаю
                    С удовольствием делаю только то, что относится на счета доходов... либо на счета 613

                    Комментарий


                    • #11
                      Сообщение от Prince Посмотреть сообщение
                      Ну а Вы предложите, я подумаю
                      Пишите свой отчет, вешаете его в качестве макета выгрузки. Отчет состоит из двух "тел". Внутри себя он анализирует ВО всех документов пакета. Если найдены документы с ВО 2 - он выводит список ошибок с уместными комментариями. Если нет - ничего не выводит, но запускает стандартный отчет выгрузки УФЭБС.
                      Но это так... для тонких ценителей искусства, я бы сказал .
                      Вообще я РКО давно не занимался, наверняка есть способы проще.

                      Комментарий


                      • #12
                        Сообщение от AndyElf Посмотреть сообщение
                        Пишите свой отчет, вешаете его в качестве макета выгрузки. Отчет состоит из двух "тел". Внутри себя он анализирует ВО всех документов пакета. Если найдены документы с ВО 2 - он выводит список ошибок с уместными комментариями. Если нет - ничего не выводит, но запускает стандартный отчет выгрузки УФЭБС.
                        Но это так... для тонких ценителей искусства, я бы сказал .
                        Вообще я РКО давно не занимался, наверняка есть способы проще.
                        Если честоно, то это одно из первых что пришло на ум после того как стало понятно, что сам отчет не очень удобно будет править. Но вообще на самом деле правильные этот вопрос решать до того как дело долшло до выгрузки. Тогда все таки вопрос, как это сделать с помощью DSP_NODE? Можете принцип описать? Как я понимаю необходимо добавить его в состояние на выгрузку, и затем имем код что-то вроде:

                        if @Brief = 'DSP_NODE' and
                        exists (select 1
                        from tProtocol p WITH (NOLOCK INDEX=XPKtProtocol),
                        tObject o WITH (NOLOCK INDEX=XPKtObject)
                        where p.ProtocolID = @DealProtocolID
                        and o.ObjectID = p.ObjectID
                        and o.ObjectTypeID = 5
                        )
                        begin
                        exec @RetVal = Dispatch_DealTranNode @ObjectID, @DealProtocolID, @ForUpdate, @OperSetID
                        end
                        как его настроить?
                        С удовольствием делаю только то, что относится на счета доходов... либо на счета 613

                        Комментарий


                        • #13
                          Сообщение от Prince Посмотреть сообщение
                          Можете принцип описать?
                          Принцип прост, никакого кодирования, только настройка.
                          В структуре ФО плтежного поручения добавляете над своим текущим конечным состоянием еще два параллельных состояния - "для выгрузки" и "не для выгрузки", а также настраиваете диспатч DSP_NODE. На диспатче - шаблоны RKO_Node. На шаблонах реализуете логику отбора: ВО = 1 - в "для выгрузки", иначе - в "не для выгрузки". Далее снимаете признак "Состояние окончания обрботки для верификации" с текущего конечного состояния и ставите на состоянии "для выгрузки".
                          В результате после попадания в Ваше текущее конечное состояние документы автоматически переведуться в одно из двух следующих в зависимости от ВО. Выгрузить можно будет только те, которые в "для выгрузки", прочие отбракуются.
                          Не забудте раздать юзерам права и провести соответствующий ликбез.

                          Комментарий


                          • #14
                            Сообщение от AndyElf Посмотреть сообщение
                            Принцип прост, никакого кодирования, только настройка.
                            В структуре ФО плтежного поручения добавляете над своим текущим конечным состоянием еще два параллельных состояния - "для выгрузки" и "не для выгрузки", а также настраиваете диспатч DSP_NODE. На диспатче - шаблоны RKO_Node. На шаблонах реализуете логику отбора: ВО = 1 - в "для выгрузки", иначе - в "не для выгрузки". Далее снимаете признак "Состояние окончания обрботки для верификации" с текущего конечного состояния и ставите на состоянии "для выгрузки".
                            В результате после попадания в Ваше текущее конечное состояние документы автоматически переведуться в одно из двух следующих в зависимости от ВО. Выгрузить можно будет только те, которые в "для выгрузки", прочие отбракуются.
                            Не забудте раздать юзерам права и провести соответствующий ликбез.
                            Вопрос: Как добавить состояние между 2-мя существущими? ( у меня есть Введен-Выгрузка-Исполнен, как я понимаю мне нужно вставить перед состоянием Выгрузка (типа "На выгрузку" - где и будет происходить отбор) и добавить на один уровень с Выгрзука (типа "Не выгрузка"). Вопрос относящийся к теме: как можно удалить состояние у ФО?
                            С удовольствием делаю только то, что относится на счета доходов... либо на счета 613

                            Комментарий


                            • #15
                              Сообщение от Prince Посмотреть сообщение
                              Вопрос: Как добавить состояние между 2-мя существущими? ...> Вопрос относящийся к теме: как можно удалить состояние у ФО?
                              Удалить имеющееся состояние или вставить состояния между существующими, естественно, нельзя никак. Это технически и логически невозможно, так как испортит всю историю старых документов.
                              Специально для таких изменений есть настройка "Устарело" на состоянии. Используется следующим образом: в Вашем случае Введен-Выгрузка-Исполнен, Исполнен делаем устаревшим, параллельно с ним добавляем два новых состояния и диспатч, а на уровень ниже добавляем новое состояние Исполнен, полностью аналогичное старому. Получаем структуру Введен-Выгрузка-Выгружать/Не выгружать/Исполнен(устар.)-Исполнен
                              Пользователи не видят состояния с признаком "устарело" и в новом документообороте оно не участвует.

                              Комментарий


                              • #16
                                Сообщение от AndyElf Посмотреть сообщение
                                Удалить имеющееся состояние или вставить состояния между существующими, естественно, нельзя никак. Это технически и логически невозможно, так как испортит всю историю старых документов.
                                Специально для таких изменений есть настройка "Устарело" на состоянии. Используется следующим образом: в Вашем случае Введен-Выгрузка-Исполнен, Исполнен делаем устаревшим, параллельно с ним добавляем два новых состояния и диспатч, а на уровень ниже добавляем новое состояние Исполнен, полностью аналогичное старому. Получаем структуру Введен-Выгрузка-Выгружать/Не выгружать/Исполнен(устар.)-Исполнен
                                Пользователи не видят состояния с признаком "устарело" и в новом документообороте оно не участвует.
                                А как быть с документами которые находятся в устаревшем состоянии? Как пользователи их будут видеть? На них права раздаются?
                                С удовольствием делаю только то, что относится на счета доходов... либо на счета 613

                                Комментарий


                                • #17
                                  Можно связать 2 состояния между собой. Тогда Ваше Исполнен(Устарело) и Исполнен(новое)- будут для системы одним и тем же состоянием. (Не пробовала связывать "Устаревшее" состояние с кем нибуть, но думаю что принцип одинаков и старость не должна влиять).

                                  Комментарий


                                  • #18
                                    Извините, уточню: Стоя в дереве состояний на Исполнен - п.к.м. "Привязать" - и выбрать того с кем соединяем.
                                    В дереве будут отдельные ветки. Визуально - одно состояние.
                                    Естественно надо для начала сделать на тестовой БД.

                                    Комментарий


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

                                      Комментарий


                                      • #20
                                        Сообщение от Чиж Посмотреть сообщение
                                        Господа, не могу решить один, на первый взгляд элементарный, вопрос.
                                        Как можно настроить автоматический запуск отчета при групповом переводе документов из состояния в состояние? Если настраиваю отчет на состоянии соответствующей финансовой операции, то он работает только по нажатию кнопки 'Выполнить' при вводе или изменении документа, находящегося в данном состоянии, а при переводе в другое состояние - нет...
                                        Шаблон выполнения отчета не отрабатывает для групового перевода в состояние(по крайней мере так было). Для единичного документа (сообщения) должено работать.
                                        С удовольствием делаю только то, что относится на счета доходов... либо на счета 613

                                        Комментарий


                                        • #21
                                          Сообщение от Prince Посмотреть сообщение
                                          Шаблон выполнения отчета не отрабатывает для групового перевода в состояние(по крайней мере так было). Для единичного документа (сообщения) должено работать.
                                          Спасибо, но нужно именно при групповом переводе...

                                          Вот вычитал одно сообщение в другой ветке:
                                          Сообщение от Prince Посмотреть сообщение
                                          Повесили логигку на диспач, просто хорошо что можно без выбора пачки руками обойтись, а так бы пришлось отдельно отчет запускать для выбора.
                                          Можно кратенько написать, как "повесить логику на диспатч"? Буду очень благодарен
                                          В качестве примера - нужно, чтобы при переходе из одного состояния в другое проверялось наличие у клиента картотеки 2. Стндартный DSP_KARTEXISTS что-то нифига не работает. Или я что-то не то делаю.

                                          Комментарий


                                          • #22
                                            Сообщение от Чиж Посмотреть сообщение
                                            В качестве примера - нужно, чтобы при переходе из одного состояния в другое проверялось наличие у клиента картотеки 2. Стндартный DSP_KARTEXISTS что-то нифига не работает. Или я что-то не то делаю.
                                            Напишите свой пользовательский диспатч (в хранимой процедуре DispatchUser_Proc)
                                            С удовольствием делаю только то, что относится на счета доходов... либо на счета 613

                                            Комментарий


                                            • #23
                                              Большое спасибо

                                              Комментарий


                                              • #24
                                                Сообщение от Чиж Посмотреть сообщение
                                                В качестве примера - нужно, чтобы при переходе из одного состояния в другое проверялось наличие у клиента картотеки 2. Стндартный DSP_KARTEXISTS что-то нифига не работает. Или я что-то не то делаю.
                                                Что-то не так делаете Ловит DSP_KARTEXISTS такие вещи.
                                                НО! Если документ не грузился из Клиент-Банка. Тут у Диаса косяк и другой диспатч.

                                                Комментарий


                                                • #25
                                                  Сообщение от Dolphina12 Посмотреть сообщение
                                                  Что-то не так делаете Ловит DSP_KARTEXISTS такие вещи.
                                                  НО! Если документ не грузился из Клиент-Банка. Тут у Диаса косяк и другой диспатч.
                                                  Так вот с ним 2 момента.
                                                  Во-первых, он ловит картотеку с очередностью МЕНЬШЕЙ, чем очередность проводимого документа. А хотелось бы меньше или равно.
                                                  Во-вторых, он работает опять-таки по нажатию кнопки "Выполнить", а не по переводу документа из состояния в состояние.

                                                  Добавление:
                                                  Со вторым разобрался, ошибся, настраивал диспатч на первом состоянии ФО. А с первым... оказалось проще написать пользовательскую процедуру. Вроде ловит.
                                                  Последний раз редактировалось Чиж; 26.02.2008, 18:20.

                                                  Комментарий

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

                                                  Свернуть

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

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