Примеры к статье Прямой доступ к базе данных 1С
© 2004
Рудюк С.А.
rudjuk.kiev.ua
В данной статье я приведу примеры прямого доступа к различным таблицам базы данных 1С: Предприятие.
Для доступа к dbf-файлам используем компоненты DegisyData. Их Вы можете взять на сайте http://www.degisy.com.
Текст программной реализации и фргмента базы данных Вы можете скачать тут (112 Кб).
В каталоге 1S_Base находится фрагмент базы данных 1С, который используется в программах.
Просмотр плана счетов
.... #==TABLE no 148 : Счета# Name |Descr |Type[A/S/U]|DBTableName|ReUsable T=1SACCS |Счета |A |1SACCS |1 #-----Fields------- # Name |Descr |Type|Length|Precision F=ID |Account Id |C |9 |0 F=PLANID |Plan Id |C |4 |0 F=SCHKOD |Account code(number)|C |7 |0 F=SCHIM |Account description |C |128 |0 F=SCHV |Flag Currency enable|N |1 |0 F=SCHKOL |Flag Amount enable |N |1 |0 F=SCHSINGLE |Flag no need corresp|N |1 |0 F=ISFOLDER |Flag Have child acco|N |1 |0 F=ISMARK |Flag Object is Marke|C |1 |0 F=LEVEL |Level of Account |N |3 |0 F=MDID |Metadata Id |C |4 |0 F=ACTIVE |Flag Active |N |1 |0 F=VERSTAMP |Version stamp |C |6 |0 F=SC0 | |C |4 |0 F=OSC0 | |N |1 |0 F=FSC0 | |N |1 |0 F=SC1 | |C |4 |0 F=OSC1 | |N |1 |0 F=FSC1 | |N |1 |0 F=SC2 | |C |4 |0 F=OSC2 | |N |1 |0 F=FSC2 | |N |1 |0 #----Indexes------ # Name |Descr |Unique|Indexed fields |DBName I=ID1 |of ID |0 |ID |ID1 I=CODE |of CODE |0 |PLANID,SCHKOD |CODE I=SUBACC |of SubAcc |0 |LEVEL,PLANID,SCHKOD |SUBACC .... |
Назначения полей видим из скрипта.
ID - ID счёта.
PlanID - ID плана счетов. Можно создавать несколько различных планов счетов.
SchKod - Код плана счетов.
SchIm - Описание плана счетов.
IsFolder - указывает является запись каталогом или элементом. Если 1 - каталог, 2- значит элемент.
Level - уровень счёта.
Metadata ID - ID счёта в метаданных.
Пример программной реализации Вы можете найти в каталоге Schet.
Просмотр ТМЦ
В файле 1С7.DD видим:
.... #============= .... |
Информация о ТМЦ хранится в таблице SC92.
Значения полей:
ID - ID объекта ТМЦ.
ParentID - предок записи. Если 0 - то запись находится в корне.
Code - код объекта.
Descr - описание позиции ТМЦ.
IsFolder - указывает является ли строка объектом. Если 1 - каталог, 2- значит элемент.
SP93 - Название ТМЦ.
SP94 - Штрих-код.
SP96 - Вид ТМЦ.
SP97 - Валюта продажи.
SP98 - 1-я цена.
SP99 - 2-я цена.
SP100 - 3-я цена.
SP101 - Валюта прихода.
SP102 - Цена прихода.
SP103 - Ставка НДС.
SP104 - Базовая единица измерения.
SP1124 - Счёт затрат.
SP1142 - Счёт.
Программную реализацию доступа Вы можете посмотреть в каталоге TMC.
Просмотр справочника фирм
Информация о фирмах записана в двух таблицах: о внутренней фирме - в таблице SC2325, о клиентах - в SC72. Просмотрим файл 1С7.DD с информацией о этих таблицах:
.... #==TABLE no 29 : Справочник Фирмы |
Из скрипта видим, назначение полей:
ID - ID фирмы,
SP2326 - Полное наименование фирмы,
Descr - Описание фирмы,
SP2331 - Телефоны,
SP2332 - ОКПО,
SP2333 - ИНН,
SP2334 - Номер свидетельства,
SP2335 - Расчётный счёт,
SP2336 - Адрес,
SP2338 - Дата регистрации,
SP2339 - Номер регистрации,
SP2340 - Кем зарегистрирована,
SP2352 - Код налоговой инспекции,
SP2353 - Отдел налоговой инспекции.
.... #==TABLE no 13 : Справочник Клиенты |
Из скрипта видим назначение полей:
ID - ID клиента.
ParentID - ID предыдущей ветви. Если 0, то фирма находится в корне.
IsFolder - указывает является ли запись каталогом. Если 1 - каталог, 2- значит элемент.
Descr - Описание клиента.
SP73 - Полное наименование клиента.
SP74 - Адрес.
SP2930 - Физический адрес.
SP75 - Телефоны.
SP76 - Директор.
SP78 - ИНН.
SP79 - Номер свидетельства.
SP83 - Валюта взаиморасчётов.
SP2929 - Менеджер.
Программную реализацию доступа к справочникам Вы можете увидеть в каталоге Firms.
Заключение
Как видите, доступ к базе данных напрямую значительно проще и более информативнее, чем доступ к базе данных через OLE. При этом скорость доступа к базе данных значительно выше, надёжнее, т.к. исключается лишняя прослойка программных средств в виде 1С, доступ к базе более стандартизованный и меньше нужно писать программного кода (часто вообще не нужно :) ).
Анонс
В следующей своей статье по 1С я опишу как реализовать экспорт/импорт между 1С и базой данных Interbase (Firebird).
Copyright© 2004 Рудюк С.А.
| 2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2002 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2001 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2000 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 1999 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
- Компания по разработке программного обеспечения
- Услуги аутсорсинга в области программирования
- Как продлить срок службы картриджей
- Мошенничество во Всемирной Паутине. Осторожно: фишинг!
- Web-студия
- Как легально поднять уровень индекса цитирования.
- Мы реально сможем помочь вам в управлении предприятием
- Создание сайтов – популяризация вашего замысла
- Свой сайт. Управление ресурсом
- Семантическое ядро сайта или правила подбора ключевых фраз
- Программирование в среде Delphi 8 for .NET
- Практикум по Delphi для решения прикладных задач
- Фундаментальные алгоритмы и структуры данных в Delphi
- Delphi 6. Программирование на Object Pascal
- Delphi и технология COM
- Delphi в шутку и всерьез: что умеют хакеры
- Программирование в Delphi глазами хакера
- Delphi 2005. Секреты программирования
- Искусство создания компонентов Delphi
- Приемы программирования в Delphi на основе VCL
- Программирование баз данных в Delphi 7
- Программирование баз данных в Delphi
- Программирование в среде Delphi
- Программирование в Delphi 7
- Язык SQL в Delphi 5