Имя: Пароль:
1C
1C 7.7
v7: Проблемы работы в 1с 7.7 с XBase Windows Server 2008
0 Chingiz001
 
05.10.12
19:44
Код простейший:
Процедура ЗагрузитьПериоды()
   ДБФ = СоздатьОбъект("XBase");        
   ДБФ.ДобавитьПоле("BEGIN",3,8,0);//дата начала периода выгрузки
   ДБФ.ДобавитьПоле("END"  ,3,8,0);//дата конца  периода выгрузки
   ДБФ.ДобавитьПоле("TABAK"  ,1,1,0);//дата конца  периода выгрузки

   Если ФС.СуществуетФайл(ИмяКаталога+ИмяФайлаПериода)=1 тогда
       ДБФ.ОткрытьФайл(ИмяКаталога+ИмяФайлаПериода);
       сост = "Нажмите кнопку <Загрузить>.";
       форма.Обновить();
       форма.кнЗагрузить.Доступность(1);
   Иначе
       предупреждение("Не найден файл "+ИмяФайлаПериода+" для загрузки!");
       сост = "Выберете ПРАВИЛЬНЫЙ каталог для загрузки!!!";
       форма.Обновить();
       форма.кнЗагрузить.Доступность(0);
       возврат;
   КонецЕсли;
   ДБФ.Первая();
   НачДата = ДБФ.BEGIN;
   КонДата = ДБФ.END;
   ТАБАК   =  ДБФ.TABAK;
   ДБФ.ЗакрытьФайл();        
КонецПроцедуры

Смотрю в отладчике на последней строчке - ДБФ.ЗакрытьФайл();
Вылетает из программы. В ХР все работает как часы. А с Server 2008 закрывается 1С и выдает нижеследующую ошибку. Никто не сталкивался, что это такое? Как с ним бороться?

Сигнатура проблемы:
 Имя события проблемы:    APPCRASH
 Имя приложения:    1cv7s.exe
 Версия приложения:    7.70.0.27
 Штамп времени приложения:    4573fcd8
 Имя модуля с ошибкой:    StackHash_60ef
 Версия модуля с ошибкой:    6.0.6001.18000
 Штамп времени модуля с ошибкой:    4791a7a6
 Код исключения:    c0000374
 Смещение исключения:    000b015d
 Версия ОС:    6.0.6001.2.1.0.18.10
 Код языка:    1049
 Дополнительные сведения 1:    60ef
 Дополнительные сведения 2:    95347bf24d247babcc5a61f827503254
 Дополнительные сведения 3:    5a08
 Дополнительные сведения 4:    19ae21a96fd1c267cadcc4cb542d9583
1 monsterZE
 
06.10.12
09:41
а путь к файлу сетевой?
2 Индиго
 
06.10.12
09:43
7.7 и с 2005 работала после взлома только.
а вы тут 7.7 на 2008 пытаетесь..

Оптимисты, че сказать...
3 monsterZE
 
06.10.12
09:45
(2) У меня работает под 2008 с начала года.
стандартный релиз с нестандартными библиотеками.
кривые места переписаны. работает.
4 Индиго
 
06.10.12
09:46
(3)Скорее всего кто-то взломал и причесал, а ты и не знаешь об этом.
5 monsterZE
 
06.10.12
09:48
(4) =))
(0) и как бы вот
ДБФ=СоздатьОбъект("XBase");
   ДБФ.КодоваяСтраница(0);
   ДБФ.ДобавитьПоле("Kod","N",5,0);
   ДБФ.ДобавитьПоле("Nazv","S",150,0);
   ДБФ.ДобавитьПоле("Ed","S",20,0);
   ДБФ.ДобавитьПоле("EdKoef","N",15,0);    
   ДБФ.ДобавитьПоле("ShKod","N",15,0);
   ДБФ.СоздатьФайл("c:\shk.dbf");        
   ДБФ.Очистить();
   ТабШК.ВыбратьСтроки();
   Пока ТабШК.ПолучитьСтроку()=1 Цикл
       ДБФ.Добавить();
       ДБФ.Kod    = ТабШК.ТовКод;
       ДБФ.Nazv   = ТабШК.ТовИмя;
       ДБФ.Ed     = ТабШК.ТовЕд;
       ДБФ.EdKoef = ТабШК.ТовЕдКоэф;
       ДБФ.ShKod  = ТабШК.ТовШК;
       ДБФ.Записать();
   КонецЦикла;
   ДБФ.ЗакрытьФайл();
6 Индиго
 
06.10.12
09:50
(5)Хочешь , я щас тут запостю свои шедевры на ассемблере?:-)...Тебе понравится:-))
7 Индиго
 
06.10.12
09:51
(5)Это херня ни о чем не говорит.
8 Мимохожий Однако
 
06.10.12
10:23
Объясни две строчки.
ДБФ.СоздатьФайл("c:\shk.dbf");        
   ДБФ.Очистить();
9 monsterZE
 
06.10.12
10:41
(8) не помню, переписывает ли файл ДБФ.СоздатьФайл, если он уже существует.
а так - этот кусок вполне себе работает из 7.7 под 2008R2
10 monsterZE
 
06.10.12
10:44
(8) ..а может, где сейчас ДБФ.СоздатьФайл, раньше было ДБФ.ОткрытьФайл
не первой свежести кусок =)
11 Chingiz001
 
09.10.12
16:50
(9)У тебя работает под 2008R2? Странно, а почему у меня нет? Дело в том, что это такая связка у клиентов, но потом я смоделировал у себя такую же ситуацию - из 7.7 под 2008R2. Но та же проблема - считывает инфу из файла, данные вешает на переменные но при закрытии файла вылетает база и выдает ошибку. Разное железо, только одинаковая операционка (хотя ставилась с разных дистрибутивов). При работе с ХР все нормально читается. Может какие-нить библиотеки нужно загрузить? Или что еще посмотреть? Переписывать выгрузку в другой формат сильно не хочется.
12 Chingiz001
 
17.10.12
15:42
Может dll какой не хватает?