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

Вийшла нова версія програми "Склад".


 Виправлено велику кількість помилок.


 Можливість вимкнення заборони негативних чистилів у поточних залишках.


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

Ел. пошта
rs@corp2.net

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

Зателефонуйте: +380 63 108 17 00

Напишіть у Telegram: @erpk2

 

Виклик форуму

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

 


 

Інші посилання


Інші сторінки

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

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


Програми
Іспит
Розрахунок шаф
Реплікатор
Редактор
VDoc
Календар
Калькулятор
Буфер
Розсилка пошти
Голосування по мережі
Інсталятор
Планувальник
Адміністратор порталу
R-броузер

Документація
Відповіді на запитання
Вся документація
Склад
Розрахунок шаф
Іспит
Реплікатор
Інсталятор

Докумнтація складу
Встановлення програми

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


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

Поточні залишки
Звіт з внутрішнього переміщення
Звіт з продажу
Взаєморозрахунки
Рух матеріалів

Пошук інформації
Штрих-коди, шифри, партії

Об'єднання фірм
Об'єднання товарів
Робота в мережі та інтернет
Визначення прав
Створення та налаштування користувача
Скрипт налаштування користувача
Налаштування фірми
Налаштування складів
Налаштування мов
Типи документів
Налаштування меню
Версії програм та історія
Перевірка розрахунків
Створення та зміна звітів
Створення тіні (дзеркала) бази даних
Відновлення бази даних
Резервне копіювання бази даних

Інформація про програму
Робота з вікнами
Робота з таблицями
Експорт даних у таблицях
Імпорт даних у таблицях
Робота з деревами
Експорт із дизайнера звітів
Опис дизайнера звітів FastReport

Статті
Лічильник
Як заощадити на ліцензіях
Відновлення баз даних Interbase

Послуги
Веб-дизайн
Купівля програм

Інше
Фотогалерея


 

 


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

 

 

Переглянути всі новини

 

 

 

 

 








Прямий доступ до бази даних 1С

 

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

 

Для обміну даними моєї системи Корпорація з 1С я розробив шлюз. Спочатку я намагався організувати обмін даними за допомогою механізму OLE, озброївшись рядом статей, опублікованих на сайті http://delphiplus.org та документацією 1С.

Мені вдалося підключитися до 1С, отримати інформацію про поля та дані довідників. Однак цей спосіб виявився надто не стабільним і повільно-працюючим. Система не хотіла працювати, коли 1С завершилася аварійно, крім того, у замовника довелося чистити реєстр, щоб OLE спрацьовував правильно. І найголовніше, так це те, що команди не завжди хотіли спрацьовувати. Доводилося багато часу витрачати доступу до елементарним операціям.

Насамкінець, дані, одержувані за допомогою OLE не дуже корисні - часто показуються лише дані, які дійсні на даний час. Так, наприклад, курс валют показуватиметься на дату системи, а не виводитиметься таблиця змін курсів валют.

Тому, неабияк повозившись з OLE-механізмом я все-таки вирішив реалізувати прямий доступ до 1С.

У цій статті я описую, де і як отримати інформацію з таблиць 1С.

Прямий доступ до таблиць у форматі dbf-файлів

Насамперед, необхідно було вибрати компоненти доступу до таблиць 1С. До файлів dbf можна отримати доступ за допомогою BDE, ODBC або компонент прямого доступу. Перші два способи я відразу ж відмів, залишився – третій.

Я почав шукати безкоштовні компоненти для прямого доступу до файлів dbf. І знайшов чудову компоненту DegisyData на сайті http://www.degisy.com. За допомогою цієї компоненти, Ви можете переглядати файли dbf, додавати, змінювати і видаляти інформацію в них.

Зберігання інформації у 1С

Тепер розглянемо де взяти інформацію про таблицях 1С.

1С кожного довідника створює окрему таблицю. Таких таблиць виходить досить багато і здогадатися про призначення кожної їх досить важко.

Насамперед слід зазначити, що 1С створює пари файлів: .DBF-файл (дані) та однойменний .CDX-файл (індексний файл).

Ми можемо видалити CDX файли - втрати інформації не буде, так як це індексні файли. При запуску 1С монопольному режимі автоматично створяться необхідні індексні файли.

Інформацію про будь-який файл бази даних та будь-яке поле Ви можете отримати з текстового файлу 1Сv7.DD.

#AccWare Data Dictionary
D=DDV7120|AccWare Data Dictionary (DDCP=1251UKR)|
#
#
#===================================
#==TABLE no 0 : З'єднань
# Name |Descr |Type[A/S/U]|DBTableName|ReUsable
T=1SUSERS |З'єднань |A |1SUSERS |1
#-----Fields-------
# Name |Descr |Type|Length|Precision
F=USRSCNT |Number of users |N |4 |0
F=NETCHGCN |Count of changes |N |10 |0
#
#====================================
#==TABLE no 1 : Системна
# Name |Descr |Type[A/S/U]|DBTableName|ReUsable
T=1SSYSTEM|Системна |A |1SSYSTEM |1
#-----Fields-------
# Name |Descr |Type|Length|Precision
F=CURDATE |Date of TM |D |8 |0
F=CURTIME |Time of TM |C |6 |0
F=EVENTIDTA |ID Event On TA |C |9 |0
F=DBSIGN |DB Sign |C |3 |0
F=DBSETUUID |UUID of DB set |C |36 |0
F=SNAPSHPER |Snap Shot Period |C |1 |0
F=ACCDATE |Date of Account Tota|D |8 |0
F=FLAGS |FLAGS |N |10 |0
#
#====================================
#==TABLE no 2 : Константи
# Name |Descr |Type[A/S/U]|DBTableName|ReUsable
T=1SCONST |Константи |A |1SCONST |1
#-----Fields-------
# Name |Descr |Type|Length|Precision
F=OBJID |ID obj(0-cons ) |C |9 |0
F=ID |ID parameter |C |4 |0
F=DATE |Fix date |D |8 |0
F=PARTNO |no of part |N |3 |0
F=VALUE |valume |C |23 |0
F=DOCID |ID Document |C |9 |0
F=TIME |Time |C |6 |0
F=ACTNO |Action No |N |6 |0
F=LINENO |LineNo |N |4 |0
F=TVALUE | |C |3 |0

.......

У цьому файлі написано поряд з англійською назвою таблиці – російська назва, поряд з англійською назвою поля – його призначення, тип даних та розмір. Цієї інформації цілком достатньо, щоб зрозуміти призначення кожної таблиці та поля бази даних. Я не буду дублювати інформацію з цього файлу в цій статті.

Паролі користувачів зберігаються у папці usrdef. Якщо видалити цей каталог, можна входити в систему 1С без пароля з найбільшими правами.

Останнє, що необхідне для шлюзу, - це історія змін даних користувачами. Цю інформацію Ви можете знайти у текстовому файлі каталогу SYSLOG.

20040924;08:49:40;Федоров;E;Docs;DocWriteNew;2;;O/2196/410;
Прибутковий касовий ордер СТ00000001 24.09.2004 08:49:40
20040924;08:49:43;Федоров;E;Docs;DocNotPassed;2;;O/2196/410;
Прибутковий касовий ордер СТ00000001 24.09.2004 08:49:40
20040924;08:49:46;Федоров;E;Docs;DocOpen;3;;O/2196/410;
Прибутковий касовий ордер СТ00000001 24.09.2004 08:49:40
20040924;08:50:15;Федоров;E;Docs;DocWrite;2;;O/2196/410;
Прибутковий касовий ордер СТ00000001 24.09.2004 08:49:40
20040924;08:50:18;Федоров;E;Docs;DocPassed;2;;O/2196/410;
Прибутковий касовий ордер СТ00000001 24.09.2004 08:49:40
20040924;08:50:20;Федоров;E;Docs;DocOpen;3;;O/2196/410;
Прибутковий касовий ордер СТ00000001 24.09.2004 08:49:40
20040924;08:50:22;Федоров;E;Docs;DocNew;3;;O/2051/0;
Рахунок-фактура виданий 0000000001 24.09.2004
20040924;08:50:59;Федоров;E;Docs;DocWriteNew;2;;O/2051/411;
Рахунок-фактура виданий СТ00000001 24.09.2004 08:50:59

 

Висновок

Якщо Ви збираєтеся робити шлюз, передбачайте у програмі можливість програмування, т.к. багато поля доведеться декодувати та адаптувати під дані Вашої системи. Але це вже тема окремої статті.

 

Обговорити на форумі