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


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #30 - 20. Апреля 2009 :: 11:54
Печать  
Закачал твоей обработкой весь справочник успешно, все группы, при пролистывании этой группы с сортировкой по наименованию тот же косяк. Блин, какая то  лажа с наименваниями. Я их закачивал из доса, применяя при загрузке в таблицу значений OEMTOANSI. а затем уже создавал в 1С элементы справочника Номенклатура
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #31 - 20. Апреля 2009 :: 11:55
Печать  
Закачал твоей обработкой весь справочник успешно, все группы, при пролистывании этой группы с сортировкой по наименованию тот же косяк. Блин, какая то  лажа с наименваниями. Я их закачивал из доса, применяя при загрузке в таблицу значений OEMTOANSI. а затем уже создавал в 1С элементы справочника Номенклатура
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

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



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Индексы при вставке записей
Ответ #33 - 20. Апреля 2009 :: 12:01
Печать  
Возьми проблемный элемент - вручную перепиши наименование -
отобразится в спр или нет
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #34 - 20. Апреля 2009 :: 12:05
Печать  
kiruha писал(а) 20. Апреля 2009 :: 12:01:
Возьми проблемный элемент - вручную перепиши наименование -
отобразится в спр или нет

Так при сортировке по коду вообще все работает, я так понимаю что выборка сбивается при сортировке по наименованию, так по нему строится кривой индекс
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

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



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Индексы при вставке записей
Ответ #36 - 20. Апреля 2009 :: 13:50
Печать  
Это я предлагал поменять наименование в спр Номенклатуры до переноса -
ты же пишешь что только часть не отображается. Вдруг проблема в символах ?

Кстати

ТЗ=SQLComm.ExecuteStatement ("CPCURRENT()");  
ТЗ.ВыбратьСтроку();

показывает 1251 ? (Текущая кодировка)
Похожие глюки удалось воспроизвести при 1252
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #37 - 20. Апреля 2009 :: 14:09
Печать  
kiruha писал(а) 20. Апреля 2009 :: 13:50:
Это я предлагал поменять наименование в спр Номенклатуры до переноса -
ты же пишешь что только часть не отображается. Вдруг проблема в символах ?

Кстати

ТЗ=SQLComm.ExecuteStatement ("CPCURRENT()");  
ТЗ.ВыбратьСтроку();

показывает 1251 ? (Текущая кодировка)
Похожие глюки удалось воспроизвести при 1252


Так на что я поменяю до переноса? Я не знаю, может есть невидимые символы, я уже удалил "№", но без толку. У самих таблиц 1С нет кодовой страницы. Я брал типовую, посмотрел щас в других базах, там тоже нулевая. Визуально в файле все отлично, когда сортировка по коду, то вообще все работает, а по наименованию, не то что конкретные позиции не показываются, а глючть форма списка и поиск. Штатный поиск биноклем может искать позицию, при следующей выборке может не искать.
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

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


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #39 - 20. Апреля 2009 :: 15:51
Печать  
Итак, что мы имеем:
1 - Родной справочник "Номенклатура" (SС84) - форма списка работает как надо, никаких претензий
2 - делаем дубль справочника и вставляем в него все записи прямым запросом. Форма списка нового справочника - глючит
3 - Переиндексируем базу или одну таблицу нового справочника средствами 1С - форма списка нового справочника начинает работать
4 - Переиндексируем в VFP 9.0  всю таблицу нового справочника или только тэг DESCR = UPPER(DESCR). форма списка нового справочника перестает работать
5 - может быть самое интересное, а может быть и самое банальное, потому как так и должно быть: Переиндексируем  в VFP 9.0  всю таблицу исходного справочника SC84. Его форма списка как работала, так и работает

Значит косяк именно во вставке? При этом строится кривой индекс? Но не верю, что старик VFP не умеет строить индексы, этому он многих научит
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #40 - 20. Апреля 2009 :: 16:31
Печать  
Рискую ошибиться, но эпопея кажется подходит к концу, но все хлипко и неуверенно
Все таки после замены в наименованиях "№" на "N" глюков в форме списка нового мправочника не обнаружено, хотя в первой замене вроде бы ничего не изменилось Косяк с "№" сидит в памяти, но что с ним точно было связано, не помню.
Покручу дальше, возможно все иллюзия. Но запрос в фоксе на сравнение наименований исходного и результирующего справочника не дал записей. То есть вставляютсмя записи тоже вроде верно. Короче, в целом я мало что понял, точнее - ничего Улыбка
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Индексы при вставке записей
Ответ #41 - 20. Апреля 2009 :: 19:34
Печать  
AAA_CHEL писал(а) 20. Апреля 2009 :: 16:31:
Рискую ошибиться, но эпопея кажется подходит к концу, но все хлипко и неуверенно
Все таки после замены в наименованиях "№" на "N" глюков в форме списка нового мправочника не обнаружено, хотя в первой замене вроде бы ничего не изменилось Косяк с "№" сидит в памяти, но что с ним точно было связано, не помню.
Покручу дальше, возможно все иллюзия. Но запрос в фоксе на сравнение наименований исходного и результирующего справочника не дал записей. То есть вставляютсмя записи тоже вроде верно. Короче, в целом я мало что понял, точнее - ничего Улыбка

Да, тут ты прав. Спроси у Саши Орефкова, он уже натыкался на эти проблемы при создании 1sqlite, в частности: http://www.1cpp.ru/forum/YaBB.pl?num=1214205575/480 . Так что спрашивай либо у него, либо бери исходники этого добра здесь: http://code.google.com/p/sqlite1c/ (хотя не знаю, что тебе это даст)
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #42 - 21. Апреля 2009 :: 01:10
Печать  
Я поторопился, косяки остались, но в той группе, которая обычно тестировалась, явно не видны. В другой большой группе видно сразу. Причем после 1с переиндексации список листается ровно и плавно, а сразу после вставки даже визуально как-то дергано.
Видимо все-таки дело в моих данных, так как после переиндексации криво работает вот такой простой запрос по выбору групп:
     ТекстЗапроса = "SELECT  $Ном.КодГруппы    AS [КодГруппы    $Строка],
                          |            Ном.Id            AS [Группа       $Справочник.Номенклатура]
                          |FROM   $Справочник.Номенклатура Ном
                          |WHERE  Ном.IsFolder = 1
                          |ORDER  BY $Ном.КодГруппы"; 

     ТВсп = Запрос.ExecuteStatement (ТекстЗапроса);      
     ТДат.Загрузить(ТВсп);
     
     ТДат.УстановитьПараметрыКолонки("КодГруппы", "Строка", 3,0, "Код", 5);
     ТДат.УстановитьПараметрыКолонки("Группа", , ,, "Группа", 60);

Точнее, он работает, но вместо группы пишет "Объект не найден", я уж было подумал что что-то удалил, но самое прикольное, что нужная группа правильно выбирается из ТЗ на форме выбора группы. То есть в запросе ТЗ типизируется криво, а выбранная "несуществующая" группа правильно возвращается и подставляется в основной, большой запрос. Я уже ничего не понимаю. Есть какой-то изьян. Уж этот запрос на группы невинный и полностью зависит лишь от sс84, которая почему "кривится"  после переиндексайии VFP
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #43 - 21. Апреля 2009 :: 01:12
Печать  
Запрос на группы кривит после фоксовой переиндексации SС84
  
Наверх
 
IP записан
 
AAA_CHEL
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 19. Апреля 2009
Re: Индексы при вставке записей
Ответ #44 - 22. Апреля 2009 :: 03:36
Печать  
Установлено точно:
- Индексы портит прямой запрос DELETE FROM ..
Я заменил вставку записей в справочник прямым запросом на выборку в таблицу значений и затем в транзакции обычное добавление элемента средствами 1С. По скорости почти не видно проигрыша. Но формы списка некоторых групп продолжали косячить, причем одна просто зацикливалась, сколько я не прокручивал 450 элементов не мог прокрутить. Причем в одном случае по моему в таблице даже не было удаленных элементов, просто 1ч на место удаленных записала новые. Вот такие чудеса. Убрал DELETE, удалил средствами 1С. Теперь косяков пока не заметил, да и вроде нет причин. Остается проверить, а вдруг INSERT будет работать без DELETE перед ним.
Конечно коряво, имея в руках инструмент прямых запросов писать Объект.Новый() и заполнять, но что поделаешь Улыбка))
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 
ОтправитьПечать