А в это время...

Пришла пора сдавать систему в промышленную эксплуатацию. Ну, т.е. техническое решение обеими сторонами согласовано и подписано, интеграционное решение разработано, система протестирована, опытно-промышленная эксплуатация заканчивается, вот уже приказ по предприятию готовим и акты проведения испытаний собираем - с первого февраля запускаться надо, как !внезапно 28го января партнер сообщает
- "Вот вы нам файлики обмена присылаете, а мы их распарсить не можем!"
- "Как не можете? Мы в декабре тестировались, весь январь в режиме ОПЭ работали, все в порядке было - а теперь "не можете"?!!!
- "Ну вот так. Мы их чих-пых ручками пересохраняли, в систему грузили, а автоматом - ни-ни, не работает."
- "Чо ж вы, собаки женского полу раньше молчали?!" "Ну, давайте посмотрим..."
Техническое решение "для обмена используются файлы в формате dBase IV", тэээк, а мы что шлем? Ой, и впрямь, dBase III+ кося-аааак! Ща-ща-ща!, пять сек, все пофиксим! Уй, модуль 4ю версию не может, десять сек... хрясь-брясь-трям-фигакс! От-тя, вместе с индексом отдельным файлом!
- "А чо-й-та вы нам такое прислали? Вместо одного файла два, да таких, что мы их и вручную старым методом чих-пых не можем!"
- "Как что? dBase IV согласно подписанному с двух сторон техническому решению. Да и как "не можете" - вы же нам в нем-же ответ присылаете? В нем же, да?"
- "Ну, да. По техническому решению."
- "А если проверим? Ну-т-ка... Гы! Вы нам вообще в dBase III шлете!"
- "Нуууу... Эээээ... и вы нам шлите!"
- "А может согласно т.р. все же?! Нам, в общем-то пофиг, парсер стандартно-универсальный, но все-же..."
- "Вам "чтобы работало" или "согласно т.р."?
- "Ладно. Сгенерякаем третью версию."
Хррр-прррр-бум! Старый модуль фигакс! Версию... ок.
- "Не-а. Не читается. Мы вот тут в hex'е файл открыли - у нас с вами байты с первого по четвертый различаются! \Скриншот в FAR'e (!!!111) прилагается\ И вообще! Вот раньше у вас в третьем байте 0A было и почти все работало, а сейчас - 00 и ничего не работает!"
- "..ля. Открываем спецификацию стандарта - 0 байт - сигнатура, 1-3 дата последнего изменения (!) в формате YYMMDD. Т.е. чой-та у вас в декабре месяц был 11, а сейчас - 00, и день что ни день, то разный? Не-по-ря-док!"
Прислали спецификацию стандарта и фотографию календаря. Ждем-с новых "открытий чудных". cmp, кстати, и впрямь различия показывает - причем в описании структуры полей, байте так в 45ом...