1С Предприятие & VB.Net
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



1С Предприятие & VB.Net Expand / Collapse
Автор
Сообщение
15.12.2003 23:17
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 03.01.2007 2:55
Сообщ.: 142, Visits: 1 555
решил помочь девушке, она бухгалтер, оптимизировать ее работу

цель: хочу сделать свою прогу(оптимизированную под опред. нужды) для ввода товара непосредственно в базу 1C минуя их оболочку
(не претендую на аналог 1С. нужен только ввод поступающих товаров и ввод продаж)

в общем подскажите где достать структуру баз данных для 1C
а то я тут очень долго буду сам разбираться в кучах DBF

и если есть где достать примеры работы VB.Net c 1C
--
заранее благодарен
Сообщ. #804523
05.01.2004 23:02
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 06.08.2005 15:13
Сообщ.: 4, Visits: 45
1С + .NET - гиблое дело (со стороны 1С)
Структура базы 1С находится в файле с расширением .md, но лучше "застрелиться сразу"
Я пробовал. Головная боль что тебе сказать.
Во-первых, в 1С есть такое понятие "периодические реквизиты" - это те данные по которым хранится история значения, так вот с ними полный аут. В таблице их увидеть *?%:%?:%% получить данные - еще хуже.
Во-вторых, с первого взгляда вроде бы обычная ДБФ-структура, но это только с первого взгляда. Я правда работал не на ДБФ база, а для SQL, но думаю для ДБФ не проще.

В общем поспотри на .md файл любым текстовым редактором и все поймешь, что ничего не поймешь.

А лучше похорони эту идею. Сделай свою базу, из .NET правь ее, а через 1С (XBase) обеспечь экспорт/импорт данных. Но предупреждаю сразу, если данных много то тормоза жуткие.
Сообщ. #806036
06.01.2004 14:41
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421, Visits: 49 251
В документации, по-моему, были раньше примеры как использовать OLE для подключения к 1С

На старом бэйсике это выглядело так

CreateObject("v77.application")
...
Сообщ. #806088
07.01.2004 14:21
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 06.08.2005 15:13
Сообщ.: 4, Visits: 45
Ну подключишься ты к базе и что?
Проблема в том, что 1С по-своему строит структуру БД,по-своему связывает таблицы и т.д.
Кроме того, создашь ты таблицу (не средствами 1С - не его конфигуратором) и 1С ее просто не увидит. Значит выход один - создавать таблицы из 1С-конфигуратора.
А если по какому-либо полю создаваемой таблицы тебе надо вести "историю значений", например у тебя ввод товаров, предположим это будет "цена товара". В этом случае в конфигураторе 1С на это поле надо будет поставить свойство "периодический" (посмотри в 1С в свойствах реквизита, закладка "Дополнительно"). И как только ты это сделаешь, тогда из твоей таблицы в БД это поле будет удалено, затем в другом поле эта ситуация будет закодирована, а реальное значение будет хранится совсем в другой таблице. И как ты его будешь пользовать?
Выход один. Все строить где-то в своей базе, править данные от-туда же, а затем в какой-то период времени организовывать импорт/экспорт, опять-таки из 1С через АДО и заливать данные в существующую базу 1С. А это значит надо сделать свое приложение (со своей БД) и кроме того в 1С сделать обработку, которая бы подключалась к твоей БД, выбирала бы данные из твоей БД и заливала бы их в БД 1С.
На прямую юзать таблицу 1С как обычную ДБФ таблицу чревато...
Изучить структуру и особенности внутреннего кодирования, это ... трата времени.
По-доброму, мой тебе совет ЗАБУДЬ, ПОХОРОНИ. Я вынужден был извращаться с 1С для SQL, но мне за это деньги платили. А головная боль в полный рост. И вообще 1С = это не нормально.
Сообщ. #806170
07.01.2004 14:49
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 06.08.2005 15:13
Сообщ.: 4, Visits: 45
Вот к примеру ты пишешь, что хотел бы организовать ввод товара минуя 1С.
Но ведь есть еще масса других забот. Просто ввести товар как элемент справочника это еще куда не шло, но ведь 1С работает еще и как бухгалтерская система.
Как ты организуешь оприходование этого товара, что бы в бухгалтерском учете отразился количественный и ценовой учет, обеспечить бухгалтерские проводки и т.д. Со стороны это делать не реально. Это должно быть сделано средствами 1С. Значит работать надо из 1С.
А если просто надо добавить строку в справочник, то зачем это делать из другого приложения?
Конечно можно открыть форму редактирования 1С в другом приложении, но тогда как будет работать код (программа) этой формы?
В общем проще всего работать из 1С. Если надо взять какие-либо данные с другого приложения, то лучше всего это сделать из 1С, а не другим приложением подключаться к базе 1С.
Сообщ. #806172
07.01.2004 15:03
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 06.08.2005 15:13
Сообщ.: 4, Visits: 45
Чтобы посмотреть структуру и состав БД 1С, открой файл 1cv7.DD любым текстовым редактором. И увидишь, например:
#====================================================================
#==TABLE no 26 : Справочник ТМЦ
# 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 |40 |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 - физическое имя файла (и АДО его увидит именно так)
Справочник ТМЦ - имя объекта как он назван в конфигураторе (вот так его видит 1С)
Дальше структура таблицы и индексы

А теперь внимательно посмотри в структуре таблицы на первые семь полей. При добавлении записи, что ты в них будешь писать/вставлять/добавлять ???

Если хочешь подключится к базе, то лучше всего используй АДО.
Сообщ. #806174
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 11:39