Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Code Base Error 70 (число прочтений - 16878 )
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Code Base Error 70
10. Ноября 2009 :: 07:57
Печать  
Есть ДБФ база. В ней есть справочник ОбъектыСтрахования (подчинен справочнику "ДоговораСтрахования"). Добавляю в этот справочник ОДИН реквизит (Имя="Сезонный", Тип=Число.1.0), пытаюсь сохранить. Начинается обработка справочника, которая продолжается около ЧАСА! Сервер - нормальный: 2*Xeon (по 4 ядра), 4 Гига ОЗУ, база лежит на РЭЙДЕ 1+0, ОС Win 2003 Standart.
После чего вылетает ошибка "Code Base Error 70" на индексный файл этого справочника "SC667.CDX".

Что за хреновина?? ТИИ делал - ошибок нет. Изменения в других объектах метаданных такой ошибки не вызывают.
Помогите. Вчера весь день на это убил.
  

error_70.jpg ( 148 KB | Загрузки )
error_70.jpg
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #1 - 10. Ноября 2009 :: 08:01
Печать  
Выдержка из DD на всякий пожарный:
Справочник ОбъектыСтрахования, DBF-таблица: SC677      

Поле      |Описание            |Tип |Длина |Точность
________________________________________________________________
ID        |ID object           |C   |9     |0       
PARENTID  |ID parent obj       |C   |9     |0       
CODE      |object code         |C   |5     |0       
DESCR     |object description  |C   |100   |0       
PARENTEXT |Parent in other tabl|C   |9     |0       
ISFOLDER  |Flag - Is Line - Fol|N   |1     |0       
ISMARK    |Flag Object is Marke|C   |1     |0       
VERSTAMP  |Version stamp       |C   |6     |0       
SP645     |(P)ВидФраншизы      |C   |9     |0       
SP668     |(P)ГодИзготовления  |N   |5     |0       
SP653     |(P)ГосРегЗнак       |C   |20    |0       
SP674     |(P)Грузоподъемность |N   |6     |1       
SP654     |(P)ДатаПаспорта     |D   |8     |0       
SP650     |(P)ИдНомерТС        |C   |18    |0       
SP671     |(P)КолМест          |N   |5     |0       
SP659     |(P)ЛюбыеВодители    |N   |2     |0       
SP670     |(P)Масса            |N   |11    |0       
SP655     |(P)МощностьДв       |N   |7     |1       
SP667     |(P)неРФ             |N   |2     |0       
SP669     |(P)Отеч_Ин          |N   |2     |0       
SP652     |(P)ПаспортТС_номер  |C   |9     |0       
SP651     |(P)ПаспортТС_серия  |C   |4     |0       
SP663     |(P)период2          |N   |2     |0       
SP657     |(P)ПериодНач        |D   |8     |0       
SP664     |(P)ПериодНач2       |D   |8     |0       
SP656     |(P)ПериодОк         |D   |8     |0       
SP665     |(P)ПериодОк2        |D   |8     |0       
SP648     |(P)Премия           |N   |18    |2       
SP649     |(P)Собственник      |C   |9     |0       
SP661     |(P)СпецЗнакНомер    |C   |10    |0       
SP660     |(P)СпецЗнакСерия    |C   |3     |0       
SP644     |(P)СтрахСумма       |N   |18    |2       
SP646     |(P)СуммаФраншизы    |N   |18    |2       
SP647     |(P)Тариф            |N   |9     |4       
SP658     |(P)Территория       |C   |9     |0       
SP666     |(P)ТипТС            |C   |9     |0       
SP673     |(P)Цель             |C   |9     |0
   

На момент сохранения количество элементов в этом справочнике = 37465
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #2 - 10. Ноября 2009 :: 08:07
Печать  
(0) Размер базы какой ?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #3 - 10. Ноября 2009 :: 08:12
Печать  
Все ДБФы весят 630 Мб, эта таблички - 14,5 Мб.

Только сейчас заметил, что ошибка на индексный файл выдает каталог "NEW_STRU". Так и должно быть??
1С версии 25
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #4 - 10. Ноября 2009 :: 08:14
Печать  
Ха, прикольно. Зашел в NEW_STRU, увидел там эту табличку и индексный файл к нему размером в 1,9 Гигов. Отсюда, скорее всего, и проблема. Но с чего вдруг он такой огромный становится????
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #5 - 10. Ноября 2009 :: 08:17
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 08:12:
Все ДБФы весят 630 Мб, эта таблички - 14,5 Мб.

Только сейчас заметил, что ошибка на индексный файл выдает каталог "NEW_STRU". Так и должно быть??
1С версии 25

Ну тогда попородуй так.
1. Делаешь копию базы
2. Если есть bacup с последней конфигурацией то помещаешь
в папку копии файл md и dd.
3. В копии md  загрузить конфигурацию саму на себя.
4.Входим в 1с монопольно.

Т.е. сначала надо понять ошибка в данных или структуре файлов

Также на копии внешний view читает записи dbf проблемного файла ?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #6 - 10. Ноября 2009 :: 08:19
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 08:14:
Ха, прикольно. Зашел в NEW_STRU, увидел там эту табличку и индексный файл к нему размером в 1,9 Гигов. Отсюда, скорее всего, и проблема. Но с чего вдруг он такой огромный становится????

Он пытается переиндексировать точнее пересоздать справочник и не может.
Долго делает потому что в эту новую таблицу вносит записи построчно а после каждой строки идет перестроение
всех индексов справочника.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #7 - 10. Ноября 2009 :: 08:27
Печать  
Z1 писал(а) 10. Ноября 2009 :: 08:17:
Ну тогда попородуй так.
1. Делаешь копию базы
2. Если есть bacup с последней конфигурацией то помещаешь
в папку копии файл md и dd.
3. В копии md  загрузить конфигурацию саму на себя.
4.Входим в 1с монопольно.

Т.е. сначала надо понять ошибка в данных или структуре файлов

Не понял что надо сделать. У меня есть одна база из бекапа. Я в ней хочу добавить новый реквизит и получаю ошибку.
Что значит загрузить конфу саму на себя?

Внешними программами файл читается без проблем.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #8 - 10. Ноября 2009 :: 08:37
Печать  
Сори не  совсем правильно прочитал.
Выгружаем базу ( для ускорения в базе можно удалить документы и регистры) Загружаем в новую sql базу.
Входим в базу sql видим что 1с работает
Выходим из базы
Там в sql базе  добавляем реквизит Сезонный.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #9 - 10. Ноября 2009 :: 08:50
Печать  
sql-я нету. Аналогичное с ДБФ попробую. Сейчас пытаюсь произвести тоже самое, но без загруженного ОпенКонфа (мало ли).

Самое интересное, что я на той неделе вносил много изменений в копию базы, среди которых был и этот реквизит. Помню, что долго колбасило, но прошло нормально. Сейчас же пытаюсь накатить всё на актуальную базу, чтоб всё перепроверить и тут такой затык...
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #10 - 10. Ноября 2009 :: 08:58
Печать  
Индексы для этой таблички:
#----Indexes------
# Name     |Descr         |Unique|Indexed fields                                              |DBName    
I=IDD      |of ID         |0     |ID                                                          |IDD       
I=PCODE    |of PARENT and |0     |PARENTEXT,PARENTID,ISFOLDER,CODE(UPPER)                     |PCODE      
I=PDESCR   |of PARENT and |0     |PARENTEXT,PARENTID,ISFOLDER,DESCR(UPPER)                    |PDESCR    
I=CODE     |of CODE       |0     |CODE(UPPER)                                                 |CODE      
I=DESCR    |of DESCR      |0     |DESCR(UPPER)                                                |DESCR      
I=VI666    |VI666         |0     |SP666                                                       |VI666      
I=VIP666   |VIP666        |0     |PARENTEXT,PARENTID,ISFOLDER,SP666                           |VIP666    
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #11 - 10. Ноября 2009 :: 09:00
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 08:50:
sql-я нету. Аналогичное с ДБФ попробую. Сейчас пытаюсь произвести тоже самое, но без загруженного ОпенКонфа (мало ли).

Самое интересное, что я на той неделе вносил много изменений в копию базы, среди которых был и этот реквизит. Помню, что долго колбасило, но прошло нормально. Сейчас же пытаюсь накатить всё на актуальную базу, чтоб всё перепроверить и тут такой затык...

В Дбф плохо очень долго и получишь все тоже самое.
у тебя база маленькая ( ИХМО ) попробуй sql express поставить.
Только там какая то хитрость с именами баз.


Также в dbf можешь попробовать сделать
1. Загоняем весь справочник со всеми полями ( без нового поля )
в таблицу значений.
2. Делаем цикл по таблице значений
   Перепозиционируем элемент
   берем все поля из строки таблицы значений.
   элемент записать.

Т.е. идея в следущем у тебя в справочнике может быть нарушилась уникальность например как-то получилось два одинаковых числовых кода подчиненных одному владельцу.
Пока не касаемся этих данных все работает как каснемся 1с падает.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #12 - 10. Ноября 2009 :: 09:04
Печать  
Z1 писал(а) 10. Ноября 2009 :: 09:00:
Т.е. идея в следущем у тебя в справочнике может быть нарушилась уникальность например как-то получилось два одинаковых числовых кода подчиненных родителю.
Пока не касаемся этих данных все работает как каснемся 1с падает.

Хорошо, попробую. А ТИИ разве такие случаи не вылавливает?
И почему индексный файл возрастает до таких огромных размеров?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #13 - 10. Ноября 2009 :: 09:13
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 09:04:
Z1 писал(а) 10. Ноября 2009 :: 09:00:
Т.е. идея в следущем у тебя в справочнике может быть нарушилась уникальность например как-то получилось два одинаковых числовых кода подчиненных родителю.
Пока не касаемся этих данных все работает как каснемся 1с падает.

Хорошо, попробую. А ТИИ разве такие случаи не вылавливает?
И почему индексный файл возрастает до таких огромных размеров?

После того как ТИИ убило мне две базы и в одной я долго выковыривал последствия я больше ТИИ не пользуюсь.
Все дело в том что до конца не известно как работает ТИИ.
но это ИХМО.
С тех пор и пишу для себя свои проверки ( если нужно)


Цитата:
И почему индексный файл возрастает до таких огромных размеров?

наверное  индекс(индексы) получаются очень фрагментироваными.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #14 - 10. Ноября 2009 :: 09:17
Печать  
Также если хочешь  и если это возможно для тебя и твоих работодателей есть еще вариант
В базе( в копии) оставляешь только справочники , документы и регистры удаляешь
Упаковываешь ее. Передаешь мне архив через интернет.
я базу запихиваю в 1c sql и разбираюсь.
Пока есть немного времени.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #15 - 10. Ноября 2009 :: 09:23
Печать  
Спасибо, попробую сам. На SQL 2008 встанет с такими же танцами как и на 2005?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #16 - 10. Ноября 2009 :: 09:32
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 09:23:
Спасибо, попробую сам. На SQL 2008 встанет с такими же танцами как и на 2005?

Теоретически да. Сначала базу переносишь.
проверяешь что все работает.потом добавляешь атрибут.
я до sql2008 не добрался ( обещали дать сервер тестовый да
что то как-то все не складывается ).

PS (полуoff) а не думал чтобы Флаги типа Сезонность хранить
как char(1)? Место экономим. Чуть удлиняется объект форма надо при открытии при записи копировать в дополнительный реквизит формы.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #17 - 10. Ноября 2009 :: 09:35
Печать  
Нет, о таком пока не думал. Места пока не жалко )
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Code Base Error 70
Ответ #18 - 10. Ноября 2009 :: 09:37
Печать  
Не может быть при размере dbf 14.5 мб CDX 2 Гб
Даже если на все реквизиты индексы навешаешь

Думаю тут проблемы в железе или возможно прямым доступом CDX правили.

Удаляешь  все CDX и переиндексируешь - 10 мин.

P.S.
Вместо ТИИ делается выгрузка и загрузка.
Никаких проблем
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #19 - 10. Ноября 2009 :: 09:41
Печать  
Кирилл, я тоже так думал.
Переиндексация-то нормально проходит, в рабочей базе индексы для этого справочника весят 4,3 Мб. А это CDX создается при реструктуризации. Могу прислать Подмигивание Вот щас, с минуты на минуту, должна опять вывалится ошибка.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Code Base Error 70
Ответ #20 - 10. Ноября 2009 :: 09:43
Печать  
1. Снимаешь все галки сортировка и отбор в этом справочнике.
2. добавляешь свой реквизит
3.Сохраняешь
4.Вертаешь все галки взад..
5.Сохранеяешь
6.Наслаждаешься...

ИЛИ:

на пустой базе создаешь мд-ник и словарик + правишь в рабочей поля справочника + подмена мд и дд...

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



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Code Base Error 70
Ответ #21 - 10. Ноября 2009 :: 09:47
Печать  
+ это еще на синьёре валялось всегда..
http://web.archive.org/web/20060103011850/www.sinor.ru/~my1c/knowhow/config1.htm...

При реструктуризации неправильно строится индекс..И..по-ходу это никак по другому не лечится Улыбка
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Code Base Error 70
Ответ #22 - 10. Ноября 2009 :: 09:51
Печать  
Возможно какая то битая строка лежит в наименовании или реквизите с отбором.

Наверно стоит сделать выгрузку/загрузку базы.
Правда это займет много времени
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #23 - 10. Ноября 2009 :: 09:51
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 09:41:
Могу прислать Подмигивание

В архиве всего 30 метров получилось. Нада? )
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Code Base Error 70
Ответ #24 - 10. Ноября 2009 :: 10:00
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 09:51:
JohnyDeath писал(а) 10. Ноября 2009 :: 09:41:
Могу прислать Подмигивание

В архиве всего 30 метров получилось. Нада? )


Ну пока у меня кроме того что написал и написал  Eprst новых идей нет.

А в пустой базе реквизит добавляется нормально ?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #25 - 10. Ноября 2009 :: 10:08
Печать  
В пустой создается нормально. Да, в крайнем случае можно будет руками добавить в ДБФ один столбец и подсунуть в эту базу МД и ДД из пустой.
Сейчас делаю по совету Ёпрста. Сортировка стоит только у одного реквизита - "ТипТС". Снял. Сохраняюсь. Такое ощущение, что картина повторяется. Индексы в NEW_STRU уже больше 200 метров занимают. ( Подожду...
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Code Base Error 70
Ответ #26 - 10. Ноября 2009 :: 10:14
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 10:08:
В пустой создается нормально. Да, в крайнем случае можно будет руками добавить в ДБФ один столбец и подсунуть в эту базу МД и ДД из пустой.
Сейчас делаю по совету Ёпрста. Сортировка стоит только у одного реквизита - "ТипТС". Снял. Сохраняюсь. Такое ощущение, что картина повторяется. Индексы в NEW_STRU уже больше 200 метров занимают. ( Подожду...


Ну тогда проблема с данными.
Надо проверять - или выгрузку загрузку делать.

Кстати вспоминаю - была одна проблемка  PARENTID - был зациклен. Т.е. папки циклически были
вложенными.
Но был ли при этом гигансткий рост CDX не помню.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #27 - 10. Ноября 2009 :: 10:25
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 10:08:
В пустой создается нормально. Да, в крайнем случае можно будет руками добавить в ДБФ один столбец и подсунуть в эту базу МД и ДД из пустой.
Сейчас делаю по совету Ёпрста. Сортировка стоит только у одного реквизита - "ТипТС". Снял. Сохраняюсь. Такое ощущение, что картина повторяется. Индексы в NEW_STRU уже больше 200 метров занимают. ( Подожду...


Самый длинный индекс на наименовании. так что вряд ли получиться.
Можешь убрать наименование и уникальность кода а можешь и сам код убрать.
потом восстановишь код и наименование по id.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #28 - 10. Ноября 2009 :: 12:39
Печать  
1. Снял галку с единственного индексного реквизита "ТипТС". База опять долго колбасилась, но всё-таки доделала свое дела на критической отметке индексного файла в 2 095 089 Байт! Добавлять реквизит и снова ставить галку не решился - не дотянет по-любому  Печаль

2. Выгрузка-Загрузка тоже не помогла.

3. Сделал обработку по наводке Z1 и перезаписал все элементы. Был один косяк - неуникальный код у одного элемента. Исправил. Опять долго колбасится. Уже за гиг перевалило ((.

Сейчас со скулем буду пробовать.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #29 - 10. Ноября 2009 :: 13:13
Печать  
Пока делается #28  для  dbf
успеешь несколько раз сделать #27   для другой
копии dbf базы ( С уже исправленной ошибкой ) на другом компьютере  (опробуй уж все варианты  Улыбка )

или  другой путь - 1с sql
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #30 - 10. Ноября 2009 :: 13:19
Печать  
Нее, как-то удалять/восстанавливать наименования и коды не охота. Лучше уж ручками один столбец приделать и подсунуть мд и дд из пустой .
Я сейчас "другим путем" занимаюсь
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #31 - 10. Ноября 2009 :: 13:43
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 13:19:
Нее, как-то удалять/восстанавливать наименования и коды не охота. Лучше уж ручками один столбец приделать и подсунуть мд и дд из пустой .
Я сейчас "другим путем" занимаюсь


а какие трудности ТЗ с колонками Элемент,Код,Наименование
1. ТЗ Заполнить
2. ТЗ Сохранить в файл
3. Удалить Код, Наименование
4. Танцы с атрибутом.
5.Востановить Код наименование
6.ТЗ из файла
 цикл по ТЗ
 в цикле восстанавливаем Код, Наименование.


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



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Code Base Error 70
Ответ #32 - 10. Ноября 2009 :: 14:21
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 13:19:
Нее, как-то удалять/восстанавливать наименования и коды не охота. Лучше уж ручками один столбец приделать и подсунуть мд и дд из пустой .
Я сейчас "другим путем" занимаюсь


Ну да.
Открыть например в Foxpro  - добавить столбец - ну минуты 3.
Подменить DD и md - еще пара минут

Переиндексировать - посмотреть что произойдет с CDX .

На зацикленность Parentid неплохо бы проверить -
выбрать все группы и потом   найти их родителей, и так раз 15.
Если через 15 шагов не пусто - значит зацикленность
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #33 - 10. Ноября 2009 :: 14:25
Печать  
Групп нет вообще.
Сейчас борюсь с SQL 2008.  Улыбка
Удачно неделька началась, млин
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #34 - 10. Ноября 2009 :: 14:43
Печать  
По наводке Саши ака Chieftain установил количество уровней для справочника с 2 в 1 (благо групп у меня сейчас нет и пока не предвидится). Всё моментально сохранилось!
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Code Base Error 70
Ответ #35 - 10. Ноября 2009 :: 14:54
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 14:43:
По наводке Саши ака Chieftain установил количество уровней для справочника с 2 в 1 (благо групп у меня сейчас нет и пока не предвидится). Всё моментально сохранилось!


Поздравляю  Улыбка
и хотелось бы знать причину
Все  таки проблемы с Parentid ? На старой копии это поле нельзя проверить ?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #36 - 10. Ноября 2009 :: 15:02
Печать  
Дык нету ж родителей совсем. Но щас попробую программно сделать выборки по твоему совету.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #37 - 10. Ноября 2009 :: 15:05
Печать  
JohnyDeath писал(а) 10. Ноября 2009 :: 14:43:
По наводке Саши ака Chieftain установил количество уровней для справочника с 2 в 1 (благо групп у меня сейчас нет и пока не предвидится). Всё моментально сохранилось!

прикольно я почему то думал что 2 уровня исходя из задачи.
тем более ты же сам описал индексы
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #38 - 10. Ноября 2009 :: 15:07
Печать  
kiruha писал(а) 10. Ноября 2009 :: 14:54:
JohnyDeath писал(а) 10. Ноября 2009 :: 14:43:
По наводке Саши ака Chieftain установил количество уровней для справочника с 2 в 1 (благо групп у меня сейчас нет и пока не предвидится). Всё моментально сохранилось!


Поздравляю  Улыбка
и хотелось бы знать причину
Все  таки проблемы с Parentid ? На старой копии это поле нельзя проверить ?

Я тоже думаю что либо создано две папки с одним кодом и одним
владельцем либо два элемента с одним кодом и одним
владельцем
Скорее всего  это возникло вследствие какого-то сбоя. Выключили
комп , прервали процесс и.т.д.
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Code Base Error 70
Ответ #39 - 10. Ноября 2009 :: 15:15
Печать  
kiruha писал(а) 10. Ноября 2009 :: 14:54:
JohnyDeath писал(а) 10. Ноября 2009 :: 14:43:
По наводке Саши ака Chieftain установил количество уровней для справочника с 2 в 1 (благо групп у меня сейчас нет и пока не предвидится). Всё моментально сохранилось!


Поздравляю  Улыбка
и хотелось бы знать причину
Все  таки проблемы с Parentid ? На старой копии это поле нельзя проверить ?

Вряд ли это связано с иерархией, повторный возврат 2 уровней приносит те же тормоза и рост индексного файла. При том что ParentID везде пустой.
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Code Base Error 70
Ответ #40 - 10. Ноября 2009 :: 15:17
Печать  
Вот замена ParentExt на одинаковое значение не вызывает тормозов при 2 уровнял, индексный файл еще уменьшился
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #41 - 10. Ноября 2009 :: 15:37
Печать  
1. Проверил по связке Владелец-Код так:
Код
Выбрать все
Объекты.ВыбратьЭлементы(0);
	Пока Объекты.ПолучитьЭлемент() = 1 Цикл
		ИТЗ.НоваяСтрока();
		ИТЗ.Элемент = Объекты.ТекущийЭлемент();
		ИТЗ.Владелец = Объекты.Владелец;
		ИТЗ.Код = Объекты.Код;
		ИТЗ.Количество=1;
		Состояние("Выборка владельцев..."+ИТЗ.НомерСтроки);
	КонецЦикла;

	флЕстьОшибка=0;
	Состояние("Сворачиваем по владельцам...");
	ИТЗ.Свернуть("Владелец,Код","Количество");
	ИТЗ.ВыбратьСтроки();
	Пока ИТЗ.ПолучитьСтроку() = 1 Цикл
		Состояние("Выборка свернутых владельцев..."+ИТЗ.НомерСтроки);
		Если ИТЗ.Количество>1 Тогда
			флЕстьОшибка=1;
			Сообщить("Есть задвоение Владелец-Код","!!!");
		КонецЕсли;
	КонецЦикла;

	Если флЕстьОшибка=0 Тогда
		Сообщить("С владельцами все нормально","i");
	КонецЕсли; 


Итог: С владельцами все нормально

2. И по родителям:
Код
Выбрать все
Объекты.ВыбратьЭлементы(0);
	Пока Объекты.ПолучитьЭлемент() = 1 Цикл
		Если Объекты.ЭтоГруппа()=0 Тогда Продолжить;		КонецЕсли;
		ИТЗ.НоваяСтрока(); 


в ИТЗ нет ни одной строки.

Как еще проверить не знаю.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #42 - 10. Ноября 2009 :: 15:53
Печать  
Цитата:
Как еще проверить не знаю.

Тесты (#41) не коректны.
надо проверять снаружи 1с-са и как текстовые поля, потому что при преобразовании Строка <--> Число может что-то теряться,
а на уровне строк(индексов) будут совпадения.
« Последняя редакция: 11. Ноября 2009 :: 04:56 - Z1 »  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #43 - 11. Ноября 2009 :: 07:55
Печать  
Попробую чуть позже сделать мини-конфу, где бы можно было понаблюдать за проблемой.
Всем спасибо.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #44 - 12. Ноября 2009 :: 10:06
Печать  
Создал тестовую конфу, на которой видно, что 1С как-то криво перестраивает индексы. Не знаю актуальна ли проблема в SQL, но в DBF результат на лицо.
Порядок действий:
1. Обработкой "СозданиеЭлементов" создаем 20000 элементов
2. Сразу видим какого размера индексный файл для таблички "Подчиненный"
3. Можно в конфигураторе снять галку на сортировке реквизита "Тип". Сохраняемся и очень долго ждем. Смотрим на размер индексного файла в папке NEW_STRU

В моем случае для 20000 элементов справочника "Подчиненный" табличка данных весила 7,2 Мб, размер индексного файла составлял больше ГИГАбайта! Если удалить индексные файлы и зайти монопольно (пересоздать индексы), то CDX занимал скромные 2 Мб!

Больше 20000 не пробывал, но думаю, что в размере около 30000 упремся опять-таки в ограничение размера инд. файла в 2 гига.
Если кому-нибудь не сложно и интересно, проверьте, пожалуйста, у себя.
  

Large_CDX.zip ( 7 KB | Загрузки )
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Code Base Error 70
Ответ #45 - 12. Ноября 2009 :: 10:53
Печать  
JohnyDeath писал(а) 12. Ноября 2009 :: 10:06:
Создал тестовую конфу, на которой видно, что 1С как-то криво перестраивает индексы. Не знаю актуальна ли проблема в SQL, но в DBF результат на лицо.
Порядок действий:
1. Обработкой "СозданиеЭлементов" создаем 20000 элементов
2. Сразу видим какого размера индексный файл для таблички "Подчиненный"
3. Можно в конфигураторе снять галку на сортировке реквизита "Тип". Сохраняемся и очень долго ждем. Смотрим на размер индексного файла в папке NEW_STRU

В моем случае для 20000 элементов справочника "Подчиненный" табличка данных весила 7,2 Мб, размер индексного файла составлял больше ГИГАбайта! Если удалить индексные файлы и зайти монопольно (пересоздать индексы), то CDX занимал скромные 2 Мб!

Больше 20000 не пробывал, но думаю, что в размере около 30000 упремся опять-таки в ограничение размера инд. файла в 2 гига.
Если кому-нибудь не сложно и интересно, проверьте, пожалуйста, у себя.

Для sql это не актуально ( и это для меня главное.
в sql создается новая таблица в базе в нее вносяться данные
так же построчно и если все хорошо то старая таблица удаляется а новая переименовывается sql ,база должна вместить две таблицы)

для dbf переиндексирование пройдет и для 100 000 элементов
правда долго если нет ошибок в столбцах влияющих на индексы
время растет в геометрич прогресии от кол-ва элементов.
размеры самого cdx меня не интересовали потому что все равно на это нельзя было влиять.
Ограничение 2Гб вызвано не размером файла
и тем что не может 32 разрядами адресовать больше
записей чем 2*32.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать