Created attachment 169 [details] Внешняя обработка. Процедура АтрибутыФайла(<ИмяФайла>,<РазмерФайла>,<АтрибутыФайла>, <ВремяСоздания>,<ВремяПоследнегоДоступа>,<ВремяПоследнейЗаписи>,<РасширенноеИмяФайла>) Из под Windows возвращает - |1091279|000010000|2006.02.26 22:10:44|2007.08.24 07:51:32 Из под Линукс - |1091279|000010000|2007.08.24 07:51:32|2007.08.24 07:51:32 т.е. из под Линукс время создания файла = времени последнего доступа В приложении внешняя обработка для 1с77, которая по имени файла выводит его атрибуты. Проблема наблюдается и в самом linux - при изменении файла, меняется и дата создания.
> Проблема наблюдается и в самом linux - при > изменении файла, меняется и дата создания. > Действительно так. Можно даже в МС проверить
Боря, убедительная просьба подробно изложить результат исследования по данной проблеме здесь, и багу закрыть.
в линуксе нет понятия время создания. есть: Время последнего доступа Время последней модификации аттрибутов Время последнего изменения данных
Поскольку в Linux не хранится дата создания, реализовать в WINE этот атрибут невозможно. Если Ваня помнит, от кого бага, то может быть стоит узнать, какие проблемы это вызывает.
Написал письмо, ждем ответа.
Вот ответ о возникающих на основе этой баги ошибках: Ошибка возникает при условии: 1. Любая конфигурация в которой обмен между базами организован с использованием МОБ (фирмы ПБ). 2. Осуществляется одновременная работа клиентами Windows и Linux 3. Включен режим обновления правил обмена после изменения конфигурации (установка по умолчанию). Там выполняется вот такой код (в глобальном Модуле Процедура ПроверкаПравилОбмена() ) А0="";А1="";А2="";А3="";А4=""; ФайлИсточникDD=КаталогБазыДанных()+"1cv7.dd"; Если ФС.СуществуетФайл(ФайлИсточникDD)=0 Тогда ФайлИсточникDD=КаталогБазыДанных()+"1cv7.dds"; КонецЕсли; Фс.АтрибутыФайла(ФайлИсточникDD,А0,А1,А2,А3,А4); Версия=Сокрлп(""+Сокрлп(А0)+Сокрлп(А1)+Сокрлп(А2)+Сокрлп(А4)); СтараяВерсия=Сокрлп(Константа.ВерсияМДФайла); Если Версия<>СтараяВерсия Тогда Обновляем правила и правим Константу - Константа.ВерсияМДФайла В результате при входе из Linux после входа из Windows - пересчитываем правила (у меня занимает минут 20) и наоборот при входе из Windows после входа из Linux - опять пересчитываем Для исправления я просто не стал смотреть на время создания файла Версия=Сокрлп(""+Сокрлп(А0)+Сокрлп(А1)+Сокрлп(А4));