Переключение на Главную Страницу Страницы: 1 2 [3]  ОтправитьПечать
Очень популярная тема (более 25 ответов) DBF. Создание нового документа без 1С (число прочтений - 12133 )
Александр Тихонов
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 26. Октября 2008
Re: DBF. Создание нового документа без 1С
Ответ #30 - 10. Ноября 2008 :: 06:22
Печать  
kiruha писал(а) 07. Ноября 2008 :: 11:25:
в табличной части появляется несколько строк с одинаковым номером строки, в журнале - несколько документов с одинаковым id.

Работает в точности как у Вас. А вы мой тест не пробовали?
  
Наверх
 
IP записан
 
classic
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: DBF. Создание нового документа без 1С
Ответ #31 - 19. Ноября 2008 :: 07:01
Печать  
kiruha писал(а) 04. Ноября 2008 :: 15:26:
Ну пользователей Fox -  поболе нескольких сот тысяч и не портит - а тут вдруг косячит.
Ну ну.

Пользователи фокса, небось, пользуют штатный формат баз данных фокса. А в 1С используется другой - codebase. Я думаю, что проблема именно в реализации чтения/записи индексов фокспром. Читает эти индексы она нормально, а записать забывает.
Кстати, у фокса есть кеширование записи или что-нибудь в этом роде? Его можно отключить?
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: DBF. Создание нового документа без 1С
Ответ #32 - 19. Ноября 2008 :: 08:05
Печать  
classic писал(а) 19. Ноября 2008 :: 07:01:
kiruha писал(а) 04. Ноября 2008 :: 15:26:
Ну пользователей Fox -  поболе нескольких сот тысяч и не портит - а тут вдруг косячит.
Ну ну.

Пользователи фокса, небось, пользуют штатный формат баз данных фокса. А в 1С используется другой - codebase. Я думаю, что проблема именно в реализации чтения/записи индексов фокспром. Читает эти индексы она нормально, а записать забывает.
Кстати, у фокса есть кеширование записи или что-нибудь в этом роде? Его можно отключить?


На INSERT привел тест - отрабатывает нормально. Видимо проблема в UPDATE
- не проверял как отрабатывается (возможно нужен ли монопольный захват таблиц?)

Отключение буфера чтения
Код
Выбрать все
Запрос.Выполнить("EXECSCRIPT('SET REFRESH TO 0,-1')");
 


Этот код проверен.
Штатная команда
Код
Выбрать все
Запрос.Выполнить("EXECSCRIPT('SET SQLBUFFERING  OFF')");  


выпоняет другие функции

  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: DBF. Создание нового документа без 1С
Ответ #33 - 19. Ноября 2008 :: 08:16
Печать  
Чтобы проверить, что дело не в буфере, можно перед каждым использованием
запроса(Запрос.ВыполнитьИнструкцию) рвать ссесию и создават ее заново,
т.е. выполнять
Код
Выбрать все
глОлеДБ = СоздатьОбъект("OLEDBData");
Рез=глОлеДБ.Соединение("
	|Provider=VFPOLEDB.1;
//	|Deleted=Yes;
	|Null = Yes;
	|Exclusive = No;
	|SourceType = DBF;
	|Data Source=" + КаталогИБ() + ";
	|Mode=ReadWrite;
	|Extended Properties="""";
	|User ID="""";
	|Password="""";
	|Mask Password=False;
	|Collating Sequence=MACHINE;
	|DSN=""""");
Запрос = глОлеДБ.СоздатьКоманду();

 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 
ОтправитьПечать