11 августа, вторник 19:36
Bankir.Ru

Объявление

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

Универсальные транзакции

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

  • Сообщение от Татьянка Посмотреть сообщение
    Здравствуйте!
    Не подскажите, есть у кого наработки такого рода…
    Возникла проблема при написании универсальной транзакции по взиманию комиссии. После создания шаблона фильтра счетов запускается групповая транзакция создания документов. Если среди выбранных счетов попадает счет, у которого сумма недостаточна для оплаты комиссии, выводится сообщение, в котором предлагается поставить счет на картотеку 2 или «ОТКЛОНИТЬ». Если на картотеку ставить не нужно, выбираем «ОТКЛОНИТЬ», тогда транзакция прерывается, откатывая при этом ранее созданные документы.
    А нужно, чтобы «дебетовый» счет пропускался, выбирался следующий счет, и транзакция дорабатывала до конца.
    Заранее благодарна
    Мы создаём документы на промежуточном статусе ("К"), в котором они не контролируются. А потом в интерфейсе меняем статус. Помогает отслеживать документы. Потому что если процедура создания их просто пропустит, то как мы узнаем, кто из клиентов нам задолжал.

    Чтобы ошибка в одном документе не прерывала транзакцию, afaik достаточно использовать метод "создание с ошибкой".
    /kiv

    Комментарий


    • Всем большое спасибо! Метод "Создание с ошибкой" подошел.

      Комментарий


      • В УТ при визульном создании документа(класс opb, ВизСоздание; подшаблон op-entry, ВизСоздание) можно сделать чтоб при выборе счета на форме вываливался не вись список счетов, а счета удовлетворяющие маске?

        Комментарий


        • Сообщение от advbnk Посмотреть сообщение
          В УТ при визульном создании документа(класс opb, ВизСоздание; подшаблон op-entry, ВизСоздание) можно сделать чтоб при выборе счета на форме вываливался не вись список счетов, а счета удовлетворяющие маске?
          В форме f-midl на счетах по F1 вызывается метод Browse реквизита acct-db или acct-cr класса opb, который не принимает никаких параметров из универсальной транзакции.
          Для класса opbm (форма f-mbank), проброс таких параметров есть, с помощью:
          Код:
          SUBSCRIBE "GetFltAttrForAcct" ANYWHERE RUN-PROCEDURE "GetFltAttrForAcct".
          ...
          UNSUBSCRIBE "GetFltAttrForAcct".
          ...
          PROCEDURE GetFltAttrForAcct :
          DEFINE INPUT-OUTPUT PARAM ipCodeLstChar AS CHAR NO-UNDO. /* Поля для предустановки. */
          DEFINE INPUT-OUTPUT PARAM ipValLstChar  AS CHAR NO-UNDO. /* Список значений полей. */
          DEFINE INPUT-OUTPUT PARAM ipLockFldChar AS CHAR NO-UNDO. /* Поля для блокировки. */
             ...
          END.

          Комментарий


          • Сообщение от cypok Посмотреть сообщение
            В форме f-midl на счетах по F1 вызывается метод Browse реквизита acct-db или acct-cr класса opb, который не принимает никаких параметров из универсальной транзакции.
            Для класса opbm (форма f-mbank), проброс таких параметров есть, с помощью:
            Код:
            SUBSCRIBE "GetFltAttrForAcct" ANYWHERE RUN-PROCEDURE "GetFltAttrForAcct".
            ...
            UNSUBSCRIBE "GetFltAttrForAcct".
            ...
            PROCEDURE GetFltAttrForAcct :
            DEFINE INPUT-OUTPUT PARAM ipCodeLstChar AS CHAR NO-UNDO. /* Поля для предустановки. */
            DEFINE INPUT-OUTPUT PARAM ipValLstChar  AS CHAR NO-UNDO. /* Список значений полей. */
            DEFINE INPUT-OUTPUT PARAM ipLockFldChar AS CHAR NO-UNDO. /* Поля для блокировки. */
               ...
            END.
            И как их передавать в процедуру,простите?

            Комментарий


            • Сообщение от kabysdox Посмотреть сообщение
              И как их передавать в процедуру,простите?
              Только исправив исходник f-midl.p по аналогии с f-mbank.p (т.е. с добавлением вышеуказанного кода).

              Комментарий


              • Сообщение от cypok Посмотреть сообщение
                Только исправив исходник f-midl.p по аналогии с f-mbank.p (т.е. с добавлением вышеуказанного кода).
                Я про f-mbank.p.Как туда передавать параметры,если я например хочу завести документ на классе opbm?

                Комментарий


                • Застрял на какой-то ерунде Как сгенерировать номер счета в УТ имея следующие данные:
                  bal-acct = 31901
                  currency = 810
                  branch-id = 0000
                  Есть уже открытый счет 31901-810-0-0000-0000020.
                  Если создавать счет вручную бисквит генерирует следующий счет: 31901-810-3-0000-0000021
                  Как тоже самое добиться в УТ?(про функцию СЧЕТ знаю, но она только пересчитывает ключ, как взять очередной номер счета в УТ непонятно...)

                  Комментарий


                  • 2 advbnk
                    посмотри функцию НОМЕР_СЧЕТА

                    Комментарий


                    • Сообщение от bulklodd Посмотреть сообщение
                      2 advbnk
                      посмотри функцию НОМЕР_СЧЕТА
                      ага, похоже оно пока писал вопрос, нашел в документации

                      p/s/ Мне кажется странным, что эта функция находится в pbase, а не в pacct...

                      Комментарий


                      • Мне кажется странным, что эта функция находится в pbase, а не в pacct...
                        это исторически так получилась, т.к. ф-ция была написана, когда никакого pacct еще не существовало.

                        Комментарий


                        • Как организовать в УТ цикл с условием? Цикл с счетчиком есть, а условного нет.

                          Комментарий


                          • Сообщение от advbnk Посмотреть сообщение
                            Как организовать в УТ цикл с условием? Цикл с счетчиком есть, а условного нет.
                            В чистом виде такой возможности нет, но как вариант, можно запустить бесконечный цикл, просто не указав начальные значения счетчика - ЦИКЛ(код транзакции>), а по условию выхода вызвать функцию СТОПЦИКЛ, которая прекратит выполнения цикла и выйдент из него.

                            Комментарий


                            • Сообщение от bulklodd Посмотреть сообщение
                              В чистом виде такой возможности нет, но как вариант, можно запустить бесконечный цикл, просто не указав начальные значения счетчика - ЦИКЛ(код транзакции>), а по условию выхода вызвать функцию СТОПЦИКЛ, которая прекратит выполнения цикла и выйдент из него.
                              Спасибо! Получилось
                              думал об этом варианте, но решил что будет ругаться на отсутствие необходимых параметров и не проверил.

                              Комментарий


                              • Как с помощью УТ создать течение к кредитному договору с очередным номером?
                                основной договор имеет номер вида "99/99-999-ХХ", если создавать течения через модуль КиД, то при заполнении формы каждому течению присваивается номер "99/99-999-ХХ 1", "99/99-999-ХХ 2", "99/99-999-ХХ 3" и т.д. И поле с номером договора на форме не активно. Когда пытаюсь сделать тоже самое через УТ, то поле номера доступно для редактирования и на номер вида "99/99-999-ХХ 9" ругается что он не проходит валидацию реквизита doc-ref. можно ли это как то обойти?

                                Комментарий


                                • Эх, неужели никто не сталкивался/не знает? Никак побороть не получается проклятый номер...

                                  Комментарий


                                  • advbnk, как именно Вы делаете это через УТ? Я создаю класс и проблем у меня нет. Единственно, пришлось написать собственные функции по определению очередного номера транша.
                                    Чем больше связей, тем меньше степеней свободы.

                                    Комментарий


                                    • Сообщение от advbnk Посмотреть сообщение
                                      Эх, неужели никто не сталкивался/не знает? Никак побороть не получается проклятый номер...
                                      На каком классе открываете транши? Посмотрите какое у вас значение поля Валидация для реквизита doc-ref?

                                      Комментарий


                                      • Создаю шаблон класса loan_allocat, потом настройки шаблона "Экранная форма". Создаются все необходимые подшаблоны. Заполняю реквизиты.
                                        Вот еще момент не обращал внимания: прописываю в реквезите doc-ref любой номер еще не существующий, но при запуске транзакции при появлении экранной формы это поле очищается, буквально на милисекунду видно заданное в реквизитах значение и поле очищается. Не заполнен еще какой-то реквизит?

                                        Валидация doc-ref: ereg(^[^ ]*$)

                                        Комментарий


                                        • У нас была подобная проблема, как точно решили до конца не помню, но из кода вижу что на классе транша в метасхеме на реквизите doc-ref стоит валидация ereg(*), и само поле doc-ref в шаблоне транзакции мы не заполняем. Новый номер траша пишем в cont-code. В doc-ref он видимо потом сам прописывается автоматически.

                                          Комментарий


                                          • Сообщение от bv Посмотреть сообщение
                                            У нас была подобная проблема, как точно решили до конца не помню, но из кода вижу что на классе транша в метасхеме на реквизите doc-ref стоит валидация ereg(*), и само поле doc-ref в шаблоне транзакции мы не заполняем. Новый номер траша пишем в cont-code. В doc-ref он видимо потом сам прописывается автоматически.
                                            Ясно. А тут вроде были представители БИСа? насколько критично изменение валидации doc-ref на ereg(*) ?

                                            Комментарий


                                            • Сообщение от advbnk Посмотреть сообщение
                                              Создаю шаблон класса loan_allocat
                                              Правильнее использовать предназначенные для этого классы:
                                              loan-tran-lin Отдельные транши
                                              loan-transh Траншевые кредиты
                                              Чем больше связей, тем меньше степеней свободы.

                                              Комментарий


                                              • Сообщение от Чернушка Посмотреть сообщение
                                                Правильнее использовать предназначенные для этого классы:
                                                loan-tran-lin Отдельные транши
                                                loan-transh Траншевые кредиты
                                                не знаю как донести это юзерам они так уже с доисторических времен работают

                                                Комментарий


                                                • Сообщение от Чернушка Посмотреть сообщение
                                                  advbnk, как именно Вы делаете это через УТ? Я создаю класс и проблем у меня нет. Единственно, пришлось написать собственные функции по определению очередного номера транша.
                                                  А на валидацию у вас не ругается? в номерах есть пробелы?

                                                  Комментарий


                                                  • advbnk,
                                                    не знаю как донести это юзерам они так уже с доисторических времен работают
                                                    Даже и не знаю что сказать - фирма Бис строго настрого так велит вести траншевые кредиты. И много где на это закладывается.

                                                    А на валидацию у вас не ругается? в номерах есть пробелы?
                                                    В номерах траншей - есть. Номер_договора Номер_транша. Не ругается.
                                                    Чем больше связей, тем меньше степеней свободы.

                                                    Комментарий


                                                    • Сообщение от Людмила Кулагина Посмотреть сообщение
                                                      advbnk,
                                                      Даже и не знаю что сказать - фирма Бис строго настрого так велит вести траншевые кредиты. И много где на это закладывается.
                                                      В номерах траншей - есть. Номер_договора Номер_транша. Не ругается.
                                                      Спасибо за помощь
                                                      Но не хотят УТ дружить с кредитами
                                                      Создал шаблон loan-transh, действие: ВизСоздание. Создались все необходимые подшаблоны. Но теперь при запуске транзакции заполняются все поля кроме "Номер договора". Не могу понять чего ему не хватает...
                                                      contract, cont-code, doc-ref, doc-num все заполнял и эффекта нет. как уже писал на экране мелькает значение и потом поле очищается. Что я упускаю?

                                                      Комментарий


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

                                                        Что я упускаю?
                                                        Пришлите транзакцию, посмотрю.
                                                        Чем больше связей, тем меньше степеней свободы.

                                                        Комментарий


                                                        • Людмила Кулагина,
                                                          отправил в личные сообщения

                                                          Комментарий


                                                          • С такими проблемами столкнулся:
                                                            1.нет потокового ввода как у стандартных тр-ций
                                                            2.нет возможности вводить налоговые реквизиты во время ввода платежки...

                                                            Комментарий


                                                            • Чем отличается FilterNavShow от FiltNavShowAll?

                                                              Комментарий

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