Ентерпрайз
Dec. 22nd, 2008 04:05 pmТри дня ловили безумный и бессмысленный баг на пару с ИТ-службой клиентов.
Ситуация: есть бухгалтерская система, старая, написана на Clarion, в двух версиях - под винду и под дос. Качеством не блещет, мягко выражаясь.
И возникает у людей баг в моем модуле расширения(написанном на встроенном языке) - иногда при сохранении платежки выдает сообщение, что у таблицы покалечены индексы и их нужно восстановить, а файл залочен модулем расчета зарплаты и не дает восстановить индексы (нужен монопольный режим). Возникает баг только если зарплатный модуль открыт. Мой модуль работает под виндой, зарплатный - под досом.
Запускаю у себя - этот файл при работе в моем модуле вообще не затрагивается никак и нигде.
Сегодня опять вылез баг, посмотрел у них по месту - ересь какая-то, непонятно. Смотрю внутренности файла, на котором он вылазит - внутри очевидно что-то вроде "список измененных данных для будущего пересчета". Тут до меня доходит, что я проверял сохранение платежек на обычном счету, типа 60. Беру, ставлю вместо 60 зарплатный счет 70 - ебубух, у меня тоже вылазит этот баг.
В общем, оказывается при сохранении проводок по счету, настроенному как зарплатный, оно лезет в этот файл и помечает работника и период как измененные. Но при этом работа с файлом в дос и виндовс ведется как-то по разному, поэтому если изменили из винды - при входе в досовский модуль индексы пересчитываются и vice versa. Если же работать одновременно - то либо не дает сохранить проводку в винде, либо не дает вообще зайти в модуль в досе.
Проблему решили обойти методом "перед сохранением проводок, затрагивающих зарплату, звонить работнику на зарплатном модуле и просить его выйти из программы".
Исходников и прочего, очевидно нет, производитель системы посылает всех в жопу и говорит "покупайте новую версию".
В промежутке между поисками бага разбирались там же, почему изменились даты проводок в платежках. Причем на 21.12.2008, воскресенье. Аудита нет, логов нет, максимум что есть - учетная запись последнего изменившего проводку юзера. Результат выглядит так: "главный бухгалтер зачем-то поменял даты". Выяснить зачем - не получилось, видимо это какие-то тайные заморочки.
Вот так и живем.
Ситуация: есть бухгалтерская система, старая, написана на Clarion, в двух версиях - под винду и под дос. Качеством не блещет, мягко выражаясь.
И возникает у людей баг в моем модуле расширения(написанном на встроенном языке) - иногда при сохранении платежки выдает сообщение, что у таблицы покалечены индексы и их нужно восстановить, а файл залочен модулем расчета зарплаты и не дает восстановить индексы (нужен монопольный режим). Возникает баг только если зарплатный модуль открыт. Мой модуль работает под виндой, зарплатный - под досом.
Запускаю у себя - этот файл при работе в моем модуле вообще не затрагивается никак и нигде.
Сегодня опять вылез баг, посмотрел у них по месту - ересь какая-то, непонятно. Смотрю внутренности файла, на котором он вылазит - внутри очевидно что-то вроде "список измененных данных для будущего пересчета". Тут до меня доходит, что я проверял сохранение платежек на обычном счету, типа 60. Беру, ставлю вместо 60 зарплатный счет 70 - ебубух, у меня тоже вылазит этот баг.
В общем, оказывается при сохранении проводок по счету, настроенному как зарплатный, оно лезет в этот файл и помечает работника и период как измененные. Но при этом работа с файлом в дос и виндовс ведется как-то по разному, поэтому если изменили из винды - при входе в досовский модуль индексы пересчитываются и vice versa. Если же работать одновременно - то либо не дает сохранить проводку в винде, либо не дает вообще зайти в модуль в досе.
Проблему решили обойти методом "перед сохранением проводок, затрагивающих зарплату, звонить работнику на зарплатном модуле и просить его выйти из программы".
Исходников и прочего, очевидно нет, производитель системы посылает всех в жопу и говорит "покупайте новую версию".
В промежутке между поисками бага разбирались там же, почему изменились даты проводок в платежках. Причем на 21.12.2008, воскресенье. Аудита нет, логов нет, максимум что есть - учетная запись последнего изменившего проводку юзера. Результат выглядит так: "главный бухгалтер зачем-то поменял даты". Выяснить зачем - не получилось, видимо это какие-то тайные заморочки.
Вот так и живем.