Bankir.Ru
4 декабря, воскресенье 05:00

Объявление

Свернуть
1 из 2 < >

Третья ежегодная конференция-консилиум «ИТ-бюджет банка - 2017»

Показать больше
Показать меньше

после setbuff() мусор в полях записи

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

  • после setbuff() мусор в полях записи

    Привет, всем.

    После выполнения setbuff() в процедуре , в частности в makedocument() от сложной проводки, обнаруживается мусор в некоторых полях записи.
    Говорят это из-за ошибок в работе с памятью у RSL. Может можно этот глюк
    как-нибудь локализовать, поделитесь опытом?
    С уважением, Дмитрий.

  • #2
    2 DWP:
    Честно говоря никогда не слышал о таком глюке. По крайней мере в 4.31 и 5.0.
    Если Вы ведете речь о выходном буфере, то могу посоветовать просто чистить буфер перед его использованием процедурой ClearRecords(). В принципе это не самый плохой тон программирования...
    Если же о входном, то ничего пока зказать не могу.
    Неплохо было бы, если бы Вы сообщили название продукта, номер используемой версии и более подробно описали проблему.

    Комментарий


    • #3
      >Неплохо было бы, если бы Вы сообщили название продукта, номер >используемой версии и более подробно описали проблему.
      Специально для вас более подробно:
      - RS-Bank 5.0.61,
      - буфер входящий,
      - идет вызов процедуры и певый оператор сразу setbuf(),
      - после в некоторых полях записи обнаруживается мусор.
      С уважением, Дмитрий.

      Комментарий


      • #4
        2 DWP:
        Странно, никогда с "мусором" в полях не сталкивался. А не могли бы Вы описать что за мусор и в каких конкретно полях? Иначе, боюсь, помочь Вам будет затруднительно...
        Если Вы запускаете макрос в режиме отладки из меню Справочники/рубли/сложные проводки и далее F2, то там в поля специально подставляются "отладочные значения" (например в счет плательщика - "11111" и т.д.), но в этом режиме проводка невозможна и данные значения оправданы.

        Комментарий


        • #5
          1. При переходе на 061 словарь обновляли?
          2. Вариант может быть, что при переходе с той версии, на которой вы были на 061 необходимо было пересоздать document.dbt etc. Посмотрите в changes.doc

          Комментарий


          • #6
            >1. При переходе на 061 словарь обновляли?
            >2. Вариант может быть, что при переходе с той версии, на которой вы были на >061 необходимо было пересоздать document.dbt etc. Посмотрите в changes.doc
            Перехода не было сразу ставили 061.
            С уважением, Дмитрий.

            Комментарий


            • #7
              > Странно, никогда с "мусором" в полях не сталкивался. А не могли бы Вы >описать что за мусор и в каких конкретно полях? Иначе, боюсь, помочь Вам >будет затруднительно...
              >Если Вы запускаете макрос в режиме отладки из меню ?
              Нет речь идёт не об отладочном запуске. Речь идёт о штатной работе сложной проводки. Заполнены поля userfield... во входном буфере на основании
              их делается окончательные проводки. И не мне надо говорить что у меня мусор в этих полях, если бы всё было так просто - я бы сюда не написал. Мусор пояляется именно после setbuf(), что естественно мешает сормировать итоговые проводки. Причем ошибка не стабильная - то есть в 90% случаев setbuf() отрабатывает отлично, а в 10% процентах поялвяется мусор. Если бы я точно знал причину этого, возможно я бы смог локализовать эту ошибку.
              С уважением, Дмитрий.

              Комментарий


              • #8
                2 DWP:
                И не мне надо говорить что у меня мусор в этих полях, если бы всё было так просто - я бы сюда не написал.
                Ничего не понял из этой фразы.
                Теперь стало понятнее, что "мусор" появляется в полях UserField. А может быть раскроете еще одну тайну и хотя бы примерно, по накопленной статистике, скажете какого именно рода "мусор". Эти поля используются некоторыми стандартными макросами и может быть то, что Вы считаете "мусором" является результатами работы этих макросов?

                Комментарий


                • #9
                  > Теперь стало понятнее, что "мусор" появляется в полях UserField. А может быть >раскроете еще одну тайну и хотя бы примерно, по накопленной статистике, >скажете какого именно рода "мусор". Эти поля используются некоторыми >стандартными макросами и может быть то, что Вы считаете "мусором" является >результатами работы этих макросов?
                  Понял ! при проводке документа происходит подмена значений на другие
                  перед вызовом makedocument() . Спасибо что вывели меня из цикла ) , а то я никак не мог сообразить в чём дело.



                  --------------------------------------------------------------------------------
                  С уважением, Дмитрий.

                  Комментарий


                  • #10
                    2 DWP:
                    Спасибо что вывели меня из цикла ) , а то я никак не мог сообразить в чём дело.
                    Всегда пожалуйста.
                    В следующий раз постарайтесь вместо "проблема при вводе" писать более развернутое описание. Будет легче помочь, да и времени уйдет меньше.
                    Удачи!

                    Комментарий

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

                    Свернуть

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

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