View previous topic :: View next topic |
Author |
Message |
SantechNik
Joined: 31 Dec 2001 Posts: 1696 Location: Гусев Михаил
Interests: Москва
|
Posted: 12 Feb 2004 12:21 Post subject: |
|
|
Quote: | Но интересно все-таки, откуда такая информация - про Fields.dbf? | Я не уверен полностью, но скорее всего инфа из "О программе". Наверняка в какой-то версии появилась возможность описывать поля пользователя и это отражено в "О программе". _________________ http://santech.chat.ru/bro.zip - удобный броузер/редактор БД |
|
Back to top |
|
|
RiFAT32
Joined: 08 Jan 2004 Posts: 23 Location: Фаткуллов Рифат
Interests: Ульяновск
|
Posted: 12 Feb 2004 14:31 Post subject: |
|
|
SantechNik wrote: | Quote: | Но интересно все-таки, откуда такая информация - про Fields.dbf? | Я не уверен полностью, но скорее всего инфа из "О программе". Наверняка в какой-то версии появилась возможность описывать поля пользователя и это отражено в "О программе". |
Надеюсь, я не нарушаю никаких правил ИС, но дословно:
Поля пользователя
Нередко для реализации потребностей пользователя приходится не только писать дополнительные программы обработки (с помощью "режимов пользователя" или "Специальных функций"), но и хранить дополнительные данные. Базы данных dbf позволяют "вручную" добавить необходимое поле и выполнять его обработку. Однако при этом возникает проблема - при получении новых версий программы БЭСТ пользователь должен выполнить upgrade баз данных, и тогда добавленные им самостоятельно поля не переносятся в базу данных новой версии.
Начиная с версии 6.06 пользователь сможет добавлять свои поля, которые будут автоматически переноситься при последующих Upgrade. Для этого, одновременно с добавлением нового поля в какой-либо файл базы данных необходимо добавить его описание в специальную таблицу fields.dbf, которая находится в корневом каталоге этой базы.
Внимание! Если в файле базы данных есть поля CRC, ID_ST, USER_CODE,
поля пользователя должны быть добавлены перед ними. Названные три поля должны быть ВСЕГДА последними.
Внимание! Не следует производить добавление полей в файлы, перечисленные в файле config.ini, поскольку программой Upgrade эти файлы не переносятся, а заменяются на имеющиеся в новой версии.
Внимание! При добавлении полей в файл accounts.dbf базы данных подсистемы "Учет заработной платы" такие же поля следует добавить в файл arc_acc.dbf. Кроме того, добавление полей в файл arc_acc.dbf следует производить так, чтобы они вставлялись до поля timen.
Для каждого поля пользователя в таблице fields.dbf необходимо указать: ARM - номер АРМ, в котором расположен данный файл (номер АРМ можно
выяснить в таблице bases_all.dbf);
Path - путь к файлу, начиная от dbase, например, для файла, расположенного в подкаталоге базы данных Sclad, необходимо указать: sclad\;
Name_Dbf - наименование файла базы данных;
Name_Fld - наименование поля;
Type - тип поля: C- символьное, N - числовое, L- логическое;
Len - длина поля,
Dec - количество десятичных знаков (для числового поля).
При выполнении Upgrade программа автоматически добавит объявленные
поля в новую базу данных и перенесет в них данные.
P.S. Эта возможность мне была известна давно, просто только в этом году возникла необходимость изпользования своих полей. |
|
Back to top |
|
|
integral
Joined: 19 Jul 2002 Posts: 378
Occupation: ОАО "Интеграл" инженер-программист Interests: Нефтекамск
|
Posted: 12 Feb 2004 16:17 Post subject: |
|
|
ИС wrote: | При выполнении Upgrade программа автоматически добавит объявленные
поля в новую базу данных и перенесет в них данные |
К сожелению БЭСТ не всегда работает так, как хочет ИС. Поля при Upgrade приходится добавлять вручн |
|
Back to top |
|
|
Умница
Joined: 25 Mar 2003 Posts: 35
|
Posted: 12 Feb 2004 17:32 Post subject: Re: Что неправильно сделано, подскажите? |
|
|
Умница wrote: | RiFAT32 wrote: | А вот делаю UPGRADE на 10_02 (с 10_01 со всеми SP - полей как корова языком слизала.
Что не так?
В FIELDS.dbf для примера прописано для MDOCM:
03 SCLAD\ MDOCM D1_KOL N 19 4
03 SCLAD\ MDOCM D2_KOL N 19 4
и т.д... |
Рассказываю. Если в fields.dbf название файла указать с расширением, например, MLABEL.DBF, то после UPGRADE новые поля в MLABEL перенесутся.
|
Возвращаясь к напечатанному.
При вышеуказанном описании файлов (с расширением) поля при обновлении версии переносятся автоматически. |
|
Back to top |
|
|
RiFAT32
Joined: 08 Jan 2004 Posts: 23 Location: Фаткуллов Рифат
Interests: Ульяновск
|
Posted: 12 Feb 2004 17:35 Post subject: От ИС кто-нибудь отзовется? |
|
|
integral wrote: |
К сожелению БЭСТ не всегда работает так, как хочет ИС. Поля при Upgrade приходится добавлять вручную. |
От ИС кто-нибудь отзовется?
Хотелось бы услышать из первых уст:
- работает, не так настроил клиент;
- не работает - причины, какие есть; когда заработает;
- может что-то ещё... |
|
Back to top |
|
|
RiFAT32
Joined: 08 Jan 2004 Posts: 23 Location: Фаткуллов Рифат
Interests: Ульяновск
|
Posted: 12 Feb 2004 17:43 Post subject: Re: Что неправильно сделано, подскажите? |
|
|
Умница wrote: | Умница wrote: |
Рассказываю. Если в fields.dbf название файла указать с расширением, например, MLABEL.DBF, то после UPGRADE новые поля в MLABEL перенесутся.
|
Возвращаясь к напечатанному.
При вышеуказанном описании файлов (с расширением) поля при обновлении версии переносятся автоматически. |
Спасибо за информацию, по инструкции ИС попробуй догадайся о таком нюанс |
|
Back to top |
|
|
integral
Joined: 19 Jul 2002 Posts: 378
Occupation: ОАО "Интеграл" инженер-программист Interests: Нефтекамск
|
Posted: 13 Feb 2004 08:56 Post subject: |
|
|
В споре рождается истина.
Я поэкперементировал с различными вариантами upgrade и выяснил следующее:
При upgrade новую БД можно не модифицировать, для этотго название таблицы в fields.dbf надо указать с расширением (см. сообщение Умницы).
Но при таком подходе прога upgrade-а не выводит никаких сообщений- нашла она эти поля или нет, сможет перенести или нет. И пока процесс не завершиться перенеслись поля или нет непонятно.
Если новую БД модифицировать самому а затем запустить ugrade, то прога выдает сообщение, что она нашла такие-то поля и возможен перенос.
Когда БД большая и процесс upgrade долгий, то второй вариант как-то более предпочтительнее. |
|
Back to top |
|
|
|