Как да повредите база данни и след това да я върнете към живот
още няколко думи за 1C
Ако не сте специалист по работа с бази данни 1C, тогава можете да направите проста грешка при актуализиране: вместо да стартирате процедурата за обединяване (при която системата анализира разликите в структурата на данните), заменяте конфигурационния файл с нов, просто го записвате върху стария. Най-голямото изкушение да направите това е в случай на локална база данни във файловата версия, т.е. когато всички данни се съхраняват в DBF файлове. Ето един пример и ще ви кажа какво се случва и как да го поправите.
И така, след замяна на файла 1cv7.md с нова версия, при стартиране на 1C:Enterprise виждаме нещо като това съобщение: „Грешка в кодовата база, неразпознато име на поле…“
И зад него, например, това: „Структурата на данните на таблицата е нарушена ...“
Тези съобщения показват, че при отваряне на файлове на база данни системата открива, че тяхната структура, т.е. имената или параметрите на полетата в таблиците не съвпадат с това, което тя очаква да види. И да разбере какво иска да види е много просто: структурата на данните е описана в текстов файл, който се намира в същата папка като конфигурационния файл, нарича се 1cv7.dd. Като отворите този файл, например, със стандартен Notepad и потърсите по името на таблицата DH553, можете да разберете, че това е документ Изчисление, освен това тук можете да видите, че грешката е в заглавката на документа, т.к. табличната му част се съхранява във файл DT553 - това се вижда и в описанието на структурата.Логиката на горния пример е проста: когато анализирате файла с описание на структурата на данните и самите данни, първо трябва да коригирате описанието на структурата към съществуващите данни и след това да върнете промените в конфигуратора, т.е. върнете детайлите в състоянието, което е описано в структурата преди ръчните корекции. И, разбира се, не забравяйте за резервните копия,всичко това може да се избегне просто чрез възстановяване на базата данни от копието, направено преди актуализацията.