Обсуждение:Operlog. Проводки. Транзакции.

0 (0)
  • Развернуть Обсуждение:Operlog. Проводки. Транзакции. ( Обсуждение примера  19.06.2002 13:01 )
    0(0)
    В связи с некоторыми случаями "криков" оперов: "я документ проводила, а он пропал, а я ничего не делала" (на самом деле сама же удалила), пришлось сделать свою примочку для работы с operlog.dbt, т.к. стандартная в 5.0 очень тупо задает фильтр по дате (не по ключу, а методом перебора - поседеешь, пока дождешься). Примочка помимо всего прочего позволяет перекинуть документ в отложенные, а также вывести распечатку в ёксель. Для работы нужен промежуточный рабочий файл следующей структуры:
    0, Number, Long - номер поля
    1, Name, String, 25 - имя поля
    2, ValueBefore, String 251 - значение поля до изменения
    3, ValueAfter, String, 251 - значение поле после изменения
    Ключ 0 по Number.
    Еще в примерчике реализован простенький, но гибкий механизм, по наложению заранее неизвестной стуктуры на переменную часть записи.
    Посмотреть пример
    >> Ответить
    • Развернуть Положили бы уже пример бы весь ( senevg  21.01.2003 16:47 )
      0(0)
      со структурой и т.п. в одном архиве...
      >> Ответить
    • Развернуть Внимание ! ( gf  31.01.2003 18:55 )
      0(0)
      В сборке 5.00.066.11 (опять без объявления войны !) изменена структура ПЕРЕМЕННОЙ ЧАСТИ записи operlog'a: теперь перед каждым куском с записью другого файла идет его длина - INT. Кроме того, описание operlog'a в bank.def не соответствует файлу - если создать файл по словарю, RS-Bank работать не будет. При этом тестирование словаря этого не показывает - флаги ключей оно, вероятно, не проверяет, а именно в них отличие. И на закуску приглашаю восхититься чудесным описанием полей operlog'a в словаре.

      >> Ответить
      • Развернуть блин достали уже ( senevg  31.01.2003 21:39 )
        0(0)
        Вместо того чтобы читать из деф файл-а - рс каждый раз деф-файл в ехе-шник пихает, сами себе гемороя наживают. Или просто не умеют ?
        >> Ответить
      • Развернуть По поводу тестирования (+) ( григ  03.02.2003 10:05 )
        0(0)
        Я когда-то давно написал на РСЛ полуавтоматизатор "апдейтов". Там функция тестирования разных версий словарей более тщательно делает проверку и дает свои рекомендации. Плюс делает копирование/конвертирование. Если надо - могу выложить в каталоге примеров. Сами поправите, если что не понравится.
        А что касается изменения структуры operlog.dbt в 61 сборке, то вы уж сами покорежьте макрос. Я до сих пор работаю на 24 и что-то не тянет меня на новшества.
        >> Ответить
        • Развернуть в 73 сборке обновился оперлог ( KaMPiLeR  19.06.2003 18:11 )
          0(0)
          не могу наложить структуру Document на переменную часть оперлога.

          вот кусок кода:

          file operlog(operlog);
          record rec("arhdoc.dbt");

          while(operlog.date==RepDate)
          message(operlog.date+" :: "+operlog.time);
          SetRecordAddr(rec,operlog);
          if((rec.Sum==$5000))
          println(operlog.date);
          println(operlog.time);

          copy(pst,rec);
          end;
          end;

          Чето кривое накладывается...

          Вроде как Вы тож перешли на 73-ую?
          >> Ответить
    • Развернуть Ошибка OPERLOG.MAC строка 356[0]: доступ к свойству Columns ( novnik  01.04.2004 12:36 )
      0(0)
      Excel открывается нормально (Excel 2003)
      RS-bank 4.31.098
      Подскажите, где копать?
      >> Ответить
      • Развернуть Попробуй (+) ( григ  01.04.2004 13:58 )
        0(0)
        Заремить 317 строчку lgSetAnswer(2) и проверить тип sheet1 (MsgBox(sheet1))
        >> Ответить
        • Развернуть Object ActiveX или TlgActiveX ( novnik  01.04.2004 20:04 )
          0(0)
          lgSetAnswer(2) убрал давно, т.к. выдает ошибку: "нет полей у объекта lgSetAnswer".
          MsgBox(sheet1) выдает "Object ActiveX" (2-х звенка) или "Object TlgActiveX" (3-х звенка).

          Самое интересное, что в 3-х звенке экспорт в Excel работает, но при формировании таблицы транзакций и при ее листании постоянно вылазит "0" в окошке (как от MsgBox). Видимо, выдается результат какой-то операции, но в макросе этого нет.

          >> Ответить
          • Развернуть Тогда понятно (+) ( григ  02.04.2004 07:41 )
            0(0)
            Первой строчкой в макросе идет: import dtb,BankInter,rslx,lgxs,doctor,"excel.mac";
            В зависимости от двух или трехзвенного варианта работы далее создается объект:
            if(IsStandAlone()) ob=ActiveX("Excel.Application",null,true);
            else ob=TlgActiveX("Excel.Application",true); end;
            Для трехзвенного варианта используется lgxs.d32 - на сервере приложений и lgx.d32 - на терминале. Для 2-х звенного - rslx.d32 (ну не знаю, почему в 2-х звенке у тебя не идет - может версия rslx.d32 старая?). lgSetAnswer можно не ремировать, а заключить в if:
            if(not IsStandAlone) lgSetAnswer(2); end; Сообщение "нет полей..." скорее всего значит, что ты пользуешь старую lgxs.d32+lgx.d32.
            Также используется dtb.d32. В 3-х звенке в каталоге терминала должны быть терминальные длм-ки от dtb.d32: t_textgp.d32 и t_textga.d32. MsgBox(0) у тебя выскакивает по причине отсутствия терминальных частей от dtb.d32.
            >> Ответить
            • Развернуть Все заработало! ( novnik  02.04.2004 12:06 )
              0(0)
              Ура! Все заработало! Действительно были старые версии - брал еще с http://www.rsl.itb.ru/index1.htm.

              Может, стоит на той страничке поставить ссылку на новые версии - http://support.softlab.ru/Portal/Samples/samplesforuser.asp?From=166

              Благодарю за подсказки.
              >> Ответить
              • Развернуть При импорте ругается.... ( wwwSerg  27.10.2004 13:52 )
                0(0)
                У меня при импотре ругается на dtb и на doctor.
                Что эт такое, и где его можно посмотреть или исправить?
                Чтот я сосвем мало понимаю.....
                >> Ответить
    • Развернуть При иморте ругается... ( wwwSerg  27.10.2004 13:54 )
      0(0)
      При импорте ругается на dtb и на DOCTOR.
      что эт за словарики и где их взять?

      >> Ответить