Переключение на Главную Страницу Страницы: [1] 2 3 4 ОтправитьПечать
Очень популярная тема (более 25 ответов) Индексы при вставке записей (число прочтений - 12307 )
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Индексы при вставке записей
19. Апреля 2009 :: 00:50
Печать  
База DBF. 1СPP.DLL от 02.04.08, VFPOLEDB.DLL от 04.11.05. Прямым запросом выбираю из справочника "Номенклатура" группу товаров только с остатками и вставляю записи в справочник, аналогичный по структуре. Под SQL все работает у клиента, хотя может просто не натыкались, у них справочник маленький. А под DBF похоже трабл с индексами. При сортировке результирующего справочника по коду его форма списка отлично работает, при сортировке по наименованию пропускается целый блок записей. После переиндексации все работает как надо. Куда копать? Я грешу на стврый драйвер VFPOLEDB, попробовал поставить новый, но ругается на строку инициализации при подключении, не было времени разбираться. И влияет ли как-то сортировка вставляемой в справочник выборки. Короче, коллеги, помогите кто сталкивался, срочно горит Улыбка
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #1 - 19. Апреля 2009 :: 02:09
Печать  
После переиндексации базы форма списка справочника работает нормально, то есть по всем признакам - кривой индекс по наименованию  Печаль
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Индексы при вставке записей
Ответ #2 - 19. Апреля 2009 :: 05:37
Печать  
Скорее всего несовпадение сортировки.
Попробуй так подключаться (и лучше к новому драйверу)
Код
Выбрать все
СтрокаСодинния = "
	|Provider=VFPOLEDB.1;
	|Null = Yes;
	|Exclusive = No;
	|SourceType = DBF;
	|Data Source=" + КаталогИБ() + ";
	|Mode=ReadWrite;
	|Extended Properties="""";
	|User ID="""";
	|Password="""";
	|Mask Password=False;
	|Collating Sequence=MACHINE;
	|DSN=""""";

 

  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #3 - 19. Апреля 2009 :: 10:08
Печать  
Взял новый драйвер VFP OLEDB 9.0 sp2 от 15.10.07. Строка соединения такая, как советуешь, с Collating Sequence  = MACHINE. эффекта никакого. Причем, в форме списка у меня есть SQL поиск наименованию или артикулу, так вот запросом c LIKE я нахожу требуемые позиции из этого справочника, предлагаю выбрать одну и затем пытаюсь позиционироваться на выбранной с помощью АктивизироватьОбъект. Позиционирования не происходит на тех позициях, которые в проскакиваемых при листании блоках. Более того, если листать форму списка в обратном направлении, то вообще косяки, их трудно описать, но скроллигн косячит. При сортировке списка по коду все чудесно.
И попутный вопрос, как вставлять в справочник записи, чтобы он не распух. DELETE лишь помечает на удаление и при следующей вставке новые записи добавлябтся и приемник пухнет. У меня что-то нет никакой идеи
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #4 - 19. Апреля 2009 :: 10:17
Печать  
Не связано ли это как-то с тем, что я данные в 1с закачивал из FPD 2.6 for DOS. Но я применял OEMTOANSI и закачано визуально все отлично, и типовые списки номенклатуры работают без проблем
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Индексы при вставке записей
Ответ #5 - 19. Апреля 2009 :: 16:05
Печать  
Попробуй полностью удалить CDX и переиндексировать.
Вообще с FPD на sql.ru много проблем описано с заголовком ДБФ и индесами.
Проведи тестирование ИБ - 1С пишет где неправильно сформировано наименование.

Цитата:
DELETE лишь помечает на удаление и при следующей вставке новые записи добавлябтся и приемник пухнет. У меня что-то нет никакой идеи


Если Delete Fox-ом или полное удалением 1С-ом (а не только пометка), то следующие записи пишутся на месте удаленных.
Т.е. пухнуть никак  не должен.
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #6 - 20. Апреля 2009 :: 05:35
Печать  
Тестирование и физической целостности и логической проходит на ура, без претензий.
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #7 - 20. Апреля 2009 :: 05:40
Печать  
Я DELETE делаю прямым запросом, перед вставкой выборки. Вот еще загадка. Когда я средствами 1С предварительно перед запросом стал чистить справочник, то 1С устойчиво вылетала на одной позиции группы "Невосстановимая ошибка бд". Удалал, кладя в список и затем уже проходя по нему и находя элементы. Причем соритировка была по коду, а позиционировался НайтиЭлемент(). После переиндексации справочник успешно чистился. Прямям просмотром таблиц в фоксе не нашел в этой позиции ничего отличного от других
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #8 - 20. Апреля 2009 :: 05:43
Печать  
Прямой запрос написан к справочнику "Номенклатура", его формы работают без претензий, все сортируется, как надо. Думаю надо попробовать загрузить базу в SQL, посмотреть что будет там
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #9 - 20. Апреля 2009 :: 07:00
Печать  
В базе под MS SQL 2000 все работает, никаких косяков, там правда скроллинг чуть иначе отрабатывает, но все нормально
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Индексы при вставке записей
Ответ #10 - 20. Апреля 2009 :: 07:32
Печать  
Ну еще возможные варианты

Во время вставки  часть полей не заполняется -
PARENTEXT,CODE,DESCR,ID, поля по которым стоит "отбор",ISFOLDER  - не должны быть Null
(по хорошему вообще ни одного поля)

ID не уникален

транзакция Delete закончилась неудачно

Драйвер родной или от Ужаса?

Код надо смотреть
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #11 - 20. Апреля 2009 :: 07:48
Печать  
Дай ссылку на нормальный, проверенный драйвер? Под SQL все пашет, но у иеня были случаи, что с одним и тем же косяком поведение разное в DBF и скуле. Поля все проверял, щас еще буду смотреть
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Индексы при вставке записей
Ответ #12 - 20. Апреля 2009 :: 08:15
Печать  
Ну так Микрософт Улыбка
http://www.microsoft.com/downloads/details.aspx?FamilyId=E1A87D8F-2D58-491F-A0FA...

И непонятно - справочник один раз заполняется или при каждом проведении...

Еще есть sqllite Орефкова
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Индексы при вставке записей
Ответ #13 - 20. Апреля 2009 :: 08:23
Печать  
Мне кажется, что подобная тема уже была. И там также ни к чему не пришли (
а с помощью 1sqllite не вставишь данные в таблицы 1С
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #14 - 20. Апреля 2009 :: 08:35
Печать  
Скачал последний драйвер с Микрософта, у меня тот же самый. Справочник заполняется всякий раз, перед этим выполняется прямой запрос DELETE FROM. Все записи помечены, в фоксе проверял. Я уже думал про конфликт удаленных записей с "живыми", но и при вставке в чисты справочник тот же косяк. Щас еще раз проверю, но после переиндексации все вроде как работало ОК. А когда поля не заполнены, то запрос и не отрабатывает, требует определения полей.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 4
ОтправитьПечать