Вход | Регистрация

Форумы на Кубань.Ру


1С:Предприятие ::

Метки:

Вечные глюки 1С

Ø
Я
   Ilya
03.11.00 - 14:54
У меня несколько вопросов:
1. Какую БД использует 1С и начем она была написана?
2. Почему приходиться стирать *.cdx файлы?
С уважением Илья.
 
  Рекламное место пустует
   Alex
1 - 03.11.00 - 15:08
1. CodeBase (MSSQL), С
2. Потому что при сбоях рушится из структура ( часть информации записалась - сбой - часть не записалась)
   gosha
2 - 03.11.00 - 15:48
(1) не порите чушь, уважаемый...
1. Если уж написано про *.cdx, значит у тебя файл-серверная версия. Она использует для собственно данных DBF-формат, родоначальником которого была фирма Эштон-Тэйт с её программой DBase (до IV включительно), и который с её лёгкой руки стал на некоторое время основным стандартом хранения данных де-факто, а затем - одним из наиболее используемых форматов обмена данными (с некоторыми, конечно, оговорками ;)). Этот формат с незначительными модификациями (в том числе, касающимися использования национальных кодовых страниц) переняли многие производители ПО (Clipper, FoxBase, FoxPro, etc.) в данном случае - это формат программы FoxPro с использованием виндовой русской кодовой таблицы. Данные хранятся в записях фиксированной длины, характеристики записей (состав полей и их характеристики) находятся в заголовке файла.
2. Для навигации по этим файлам (чтобы позиционировать не простым перебором до нужной записи, а более эффективно) используются дополнительные файлы (т.наз.индексы), в которых тем или иным методом заложены правила, как получить _номер_ нужной(-ых) записи(-ей) по условиям(критериям) её(их) поиска. Разные фирмы использовали разные алгоритмы для построения и использования этих самых индексов. В данном случае *.cdx - это индексы, по-моему, всё той же FoxPro.
Вывод. Если чё-то в 1С сбилось, то скорее всего при добавлении некоей(-их) записи(-ей) с данными в DBF-файл не произведено соответствующее обновление индексов *.CDX (то есть правил поиска записей), и теперь одинэсина при поиске руководствуясь этими самыми индексами будет позиционироваться не там, где ей бы хотелось, и соответственно получать не те данные, которые ей бы хотелось (это в лучшем случае - в худшем она будет писать, причем думая, что она пишет туда, куда надо, а на самом деле - совсем не туда!).
Отсюда всяческие глюки (в лучшем случае - только в отчетах).
Выход. Смело пилить *.CDX - файлы, потому что:
 - во-первых, они содержат не данные (которых, конечно, было бы жалко ;)))
 - во-вторых, одинэсина при очередном запуске проверяет наличие индексов, и если их нет - заново их создает на основании имеющихся (в *.DBF) данных (в монопольном режиме), и после этого позиционирование в файлах данных производит _верно_ (некоторое время;)))
   gosha
3 - 03.11.00 - 16:11
вдогонку... пардон, Алекс... одинэсина и правда была написана на Си... )
   Dich
4 - 03.11.00 - 16:12
Да, Gosha, все мы родом оттуда :))))
   gosha
5 - 03.11.00 - 16:14
Только вот _куда_ ???... ;)
   Dich
6 - 03.11.00 - 16:16
А ты что, своих стихов сам не читаешь? :))) Именно туда...
   gosha
7 - 03.11.00 - 16:24
2Dich... ;)))
   Alex
8 - 03.11.00 - 17:20
    Посмотрел структуру DBF файла - и что я вижу - первый байт заголовка 0х03, т.е dBaseIII+ без мемо полей. С вытакающим ограничением на размер файла в 1Гб. Так что я был действительно не прав. (Правда мне тоже навесили лапшу, что не снимает ответственность)
   gosha
9 - 03.11.00 - 17:22
Вообще-то не обязательно DBaseIII+, потому что я их вполне продуктивно фиксил при помощи FoxPro!
   gosha
10 - 03.11.00 - 17:24
вдогонку... это просто Си-шные библиотеки пишут такую сигнатуру, однако алгоритвы, по которым они потом с этими файлами - далеко не ДиБэйзовские, так что это ограничение означает только тот факт, что ежели это файло превысит 1Гиг, то в одинэсине он и дальше будет корректно юзаться, а ДиБэйзIII+ его не возьмёт... )))
 
  Рекламное место пустует



Список тем форума

Форум Территория 1С

Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует