Информация о нас Разработанные нами программы Наши интернет-разработки Фотогалерея наших работ Документация к программам, наши статьи, а так же перезентации наших программ

Вышла новая версия программы склад.


 Исправлено большое количество ошибок.


 Возмоность отключения запрета отрицательных чистел в текущих остатках.


Наши координаты

Эл. почта
rudjuk@ukr.net
rs@corp2.net

Телефон: +38 (067) 901-63-22

Skype: rudjuk

 

Вызов форума

Динамическая интернет-страничка

 


 

Другие ссылки


Другие страницы

Программы
Корпорация

Склад
Корпорация
Бухгалтерия
Зарплата


Программы
Экзамен
Расчёт шкафов
Репликатор
Редактор
VDoc
Календарь
Калькулятор
Буфер
Рассылка почты
Голосование по сети
Инсталлятор
Планировщик
Администратор портала
R-броузер

Документация
Ответы на вопросы
Вся документация
Склад
Расчёт шкафов
Экзамен
Репликатор
Инсталлятор

Докумнтация склада
Установка программы

Введение
Ввод остатков
Заказ (покупка)
Заявка
Внешняя счёт-фактура
Приход товара на склад
Расход товара со склада
Налоговая накладная
Внутреннее перемещение
Списание товара
Возврат товара
Заказ на закупку
Реализация и консигнация
Отсрочка платежа
Резервирование товаров
Счёт-фактура без рез.
Копирование документов
Журналы документов
Платёжные документы
Заборный лист
Карточка продукции
Калькуляция
Отбраковка товаров
Переоценка товаров
Бронирование услуг
Аннулирование услуг
Счёт
Журналы документов


Справочник фирм
Справочник активов
Технологические карты
Прайс-листы
Единицы измерения
Нормы расхода
Месторасположение товара
План счетов
Сервисные центры
Сотрудники
Курсы валют
Системные справочники
Фразы

Текущие остатки
Отчёт по внутреннему перемещению
Отчёт по продажам
Взаиморасчёты
Движение материалов

Поиск информации
Штрих-коды, шифры, партии

Объединение фирм
Объединение товаров
Работа в сети и интернет
Определение прав
Создание и настройка пользователя
Скрипт настройки пользователя
Настройка фирмы
Настройка складов
Настройка языков
Типы документов
Настройка меню
Версии программ и история
Проверка расчётов
Создание и изменение отчётов
Создание тени (зеркала) базы данных
Восстановление базы данных
Резервное копирование базы данных

Информация о программе
Работа с окнами
Работа с таблицами
Экспорт данных в таблицах
Импорт данных в таблицах
Работа с деревьями
Экспорт из дизайнера отчётов
Описание дизайнера отчётов FastReport

Статьи
Счётчик
Как сэкономить на лицензиях
Восстановление баз данных Interbase

Услуги
Веб-дизайн
Покупка программ

Другое
Фотогалерея


 

 


Вышла новая версиия программы "Корпорация" (ROffice).

 

 

Просмотреть все новости

 

 

 

 

 








Примеры к статье "Прямой доступ к 1С"

 

Автор: Рудюк С.А.
Internet: rudjuk.kiev.ua

 

В данной статье я приведу примеры прямого доступа к различным таблицам базы данных 1С: Предприятие.

Для доступа к dbf-файлам используем компоненты DegisyData. Их Вы можете взять на сайте http://www.degisy.com.

Текст программной реализации и фргмента базы данных Вы можете скачать тут (131 Кб).

В каталоге 1S_Base находится фрагмент базы данных 1С, который используется в программах.

 

Просмотр плана счетов

 

Информацию о структуре таблицы планов счетов смотрим в файле 1С7.DD видим:

....

#==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 видим:

....

#=============
#==TABLE no 27 : Справочник ТМЦ
# Name |Descr |Type[A/S/U]|DBTableName|ReUsable
T=SC92 |Справочник ТМЦ |A |SC92 |1
#-----Fields-------
# Name |Descr |Type|Length|Precision
F=ID |ID object |C |9 |0
F=PARENTID |ID parent obj |C |9 |0
F=CODE |object code |C |5 |0
F=DESCR |object description |C |25 |0
F=ISFOLDER |Flag - Is Line - Fol|N |1 |0
F=ISMARK |Flag Object is Marke|C |1 |0
F=VERSTAMP |Version stamp |C |6 |0
F=SP93 |(P)ПолнНаименование |C |64 |0
F=SP94 |(P)ШтрихКод |C |12 |0
F=SP96 |(P)Вид |C |9 |0
F=SP97 |(P)Валюта_Прод |C |9 |0
F=SP98 |(P)Цена1 |N |13 |2
F=SP99 |(P)Цена2 |N |13 |2
F=SP100 |(P)Цена3 |N |13 |2
F=SP101 |(P)Валюта_Прих |C |9 |0
F=SP102 |(P)Цена_Прих |N |13 |2
F=SP103 |(P)СтавкаНДС |C |9 |0
F=SP104 |(P)БазЕдиница |C |9 |0
F=SP105 |(P)СтарыйПолныйКод |C |20 |0
F=SP106 |(P)Транспорт |C |9 |0
F=SP1123 |(P)ВидЗатрат |C |9 |0
F=SP1124 |(P)СчетЗатрат |C |13 |0
F=SP1142 |(P)Счет |C |13 |0
#----Indexes------
# Name |Descr |Unique|Indexed fields |DBName
I=IDD |of ID |0 |ID |IDD
I=PCODE |of PARENT and |0 |PARENTID,ISFOLDER,CODE(UPPER) |PCODE
I=PDESCR |of PARENT and |0 |PARENTID,ISFOLDER,DESCR(UPPER) |PDESCR
I=CODE |of CODE |0 |CODE(UPPER) |CODE
I=DESCR |of DESCR |0 |DESCR(UPPER) |DESCR
I=VI94 |VI94 |0 |SP94(UPPER=128) |VI94
I=VIP94 |VIP94 |0 |PARENTID,ISFOLDER,SP94(UPPER=128) |VIP94
I=VI105 |VI105 |0 |SP105(UPPER=128) |VI105
I=VIP105 |VIP105 |0 |PARENTID,ISFOLDER,SP105(UPPER=128) |VIP105
#

....

Информация о ТМЦ хранится в таблице 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 : Справочник Фирмы
# Name |Descr |Type[A/S/U]|DBTableName|ReUsable
T=SC2325 |Справочник Фирмы |A |SC2325 |1
#-----Fields-------
# Name |Descr |Type|Length|Precision
F=ID |ID object |C |9 |0
F=CODE |object code |C |3 |0
F=DESCR |object description |C |25 |0
F=ISMARK |Flag Object is Marke|C |1 |0
F=VERSTAMP |Version stamp |C |6 |0
F=SP2326 |(P)ПолнНаименование |C |70 |0
F=SP2329 |(P)ПрефиксНомера |C |2 |0
F=SP2330 |(P)Кассы |C |9 |0
F=SP2331 |(P)Телефоны |C |30 |0
F=SP2332 |(P)ОКПО |C |10 |0
F=SP2333 |(P)ИНН |C |12 |0
F=SP2334 |(P)НомерСвидетельств|C |12 |0
F=SP2335 |(P)РС |C |9 |0
F=SP2336 |(P)Адрес |C |64 |0
F=SP2337 |(P)ВС |C |9 |0
F=SP2338 |(P)ДатаРегистрации |D |8 |0
F=SP2339 |(P)НомерРегистрации |C |40 |0
F=SP2340 |(P)КемЗарегистрирова|C |80 |0
F=SP2352 |(P)КодНалоговойИнспе|C |32 |0
F=SP2353 |(P)ОтделНалоговойИнс|C |64 |0
...

Из скрипта видим, назначение полей:

ID - ID фирмы,
SP2326 - Полное наименование фирмы,
Descr - Описание фирмы,
SP2331 - Телефоны,
SP2332 - ОКПО,
SP2333 - ИНН,
SP2334 - Номер свидетельства,
SP2335 - Расчётный счёт,
SP2336 - Адрес,
SP2338 - Дата регистрации,
SP2339 - Номер регистрации,
SP2340 - Кем зарегистрирована,
SP2352 - Код налоговой инспекции,
SP2353 - Отдел налоговой инспекции.

....

#==TABLE no 13 : Справочник Клиенты
# Name |Descr |Type[A/S/U]|DBTableName|ReUsable
T=SC72 |Справочник Клиенты |A |SC72 |1
#-----Fields-------
# Name |Descr |Type|Length|Precision
F=ID |ID object |C |9 |0
F=PARENTID |ID parent obj |C |9 |0
F=CODE |object code |C |5 |0
F=DESCR |object description |C |32 |0
F=ISFOLDER |Flag - Is Line - Fol|N |1 |0
F=ISMARK |Flag Object is Marke|C |1 |0
F=VERSTAMP |Version stamp |C |6 |0
F=SP73 |(P)ПолнНаименование |C |64 |0
F=SP74 |(P)Адрес |C |64 |0
F=SP2930 |(P)ФизАдрес |C |64 |0
F=SP75 |(P)Телефоны |C |30 |0
F=SP76 |(P)Директор |C |40 |0
F=SP77 |(P)ОКПО |C |10 |0
F=SP78 |(P)ИНН |C |12 |0
F=SP79 |(P)НомерСвидетельств|C |12 |0
F=SP83 |(P)ВалютаВзаиморасче|C |9 |0
F=SP88 |(P)ТипЦен |C |9 |0
F=SP89 |(P)СтарыйПолныйКод |C |20 |0
F=SP90 |(P)ВидТорговли |C |9 |0
F=SP2924 |(P)Менеджер |C |9 |0
#----Indexes------
# Name |Descr |Unique|Indexed fields |DBName
I=IDD |of ID |0 |ID |IDD
I=PCODE |of PARENT and |0 |PARENTID,ISFOLDER,CODE(UPPER) |PCODE
I=PDESCR |of PARENT and |0 |PARENTID,ISFOLDER,DESCR(UPPER) |PDESCR
I=CODE |of CODE |0 |CODE(UPPER) |CODE
I=DESCR |of DESCR |0 |DESCR(UPPER) |DESCR
I=VI77 |VI77 |0 |SP77(UPPER=128) |VI77
I=VIP77 |VIP77 |0 |PARENTID,ISFOLDER,SP77(UPPER=128) |VIP77
I=VI89 |VI89 |0 |SP89(UPPER=128) |VI89
I=VIP89 |VIP89 |0 |PARENTID,ISFOLDER,SP89(UPPER=128) |VIP89
...

Из скрипта видим назначение полей:

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).

 

Обсудить на форуме