Задать вопрос

1c:предприятие и mssql

Здравствуй, хабрачеловек.
На днях ткнулся во внутренности БД 1с`ки и немного ошалел- около полутора тысяч таблиц (кажется просто перегнанные из dbf). Потом ткнулся в код ребят, которые у нас пишут программки и модули и очумел от того, что запросы на русском и(вроде как) к нормальным таблицам. Хотя физически их не существует.
Вопрос вот в чем- можно как-то в обход их конфигуратора работать с данными? Есть ли где-нибудь описание за что какая таблица отвечает или всё это зашито в клиента?
  • Вопрос задан
  • 3308 просмотров
Подписаться 6 Оценить 2 комментария
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
>>Есть ли где-нибудь описание за что какая таблица отвечает или всё это зашито в клиента?

Да это все зашито. В конкретной конфигурации конкретной версии. При смене версии структура может измениться. При необходимости читать данные в обход 1С используют LINQ. Подробнее посмотрите тут — www.linq-demo.1centerprise.com/
Ответ написан
Пригласить эксперта
Ответы на вопрос 8
AntonBaton
@AntonBaton
Рекомендую познакомиться с 1С++ (http://www.1cpp.ru/index.php/Main) и с ToySQL (http://www.1csql.ru/index.html)
эти библиотеки позволят напрямую обращаться к данным на SQL.
Ответ написан
infostart
@infostart
Есть сообщество профессионалов 1С, можно там спросить:
www.infostart.ru
Ответ написан
Комментировать
shogunkub
@shogunkub
Программист+Инженер-электронщик
Одна ссылка: metaprog.co.ua/
Сразу говорю — намучаетесь. Но в принципе, используя информацию по ссылке выше, можно достаточно неплохо из базы 1С читать. С записью, естессна, намного хуже.
Ответ написан
int02h
@int02h
Скорее всего нет никаких средств и никакого нормального описания, потому что 1С очень строго следит за своим продуктом, ибо они разводят монополию.

очумел от того, что запросы на русском и(вроде как) к нормальным таблицам. Хотя физически их не существует.

В 1С-запросах идет обращение к существующим таблицам, просто у них нечеловеческие имена и нечеловеческие имена столбцов. Это опять же сделано для конспирации и для того, чтобы нельзя было легко и просто работать с 1С базой.

PS: Запросы можно писать и на английском (в 1С для всех команд встроенного языка и языка запросов есть англоязычные аналоги)
Ответ написан
3ds
@3ds
Если 1С 7ка то должен где то лежать такой файлик 1Cv7.DDS — там описаны норм. языком справочники и регистры и их поля. Собственно только так :)
Когда вникнешь не так сложно — если знаешь что откуда брать (можно у бухов спросить).
Ответ написан
Комментировать
@ITLav
Кстати, если я правильно помню, для последних версий 1С работа с базой напрямую, в обход движка, запрещена лицензионным соглашением.
Ответ написан
@ITLav
Разъяснения здесь: v8.1c.ru/predpriyatie/questions_licence.htm
Но я бы не сказал, что запрет очень уж явный.
И уж точно это никого не останавливает :)
Ответ написан
Комментировать
w0lf
@w0lf
Можно использовать данные 1С в обход самой 1С. Для версии 7.х совсем просто, для 8.х посложнее. Для 7.х я в обход (напрямую) делал вообще практически всё — заполнял справочники, формировал проводки. Пока не понял что это тупиковый путь, потратив кучу времени и сил. Выучить язык 1С не так сложно, тем более что с 8-ки появилась относительно приличная объектная модель. Но! Для программирования даже простых операций под 1С требуется понимание бухгалтерского учёта на уровне ВЫШЕ чем у среднего бухгалтера. Слишком уж язык завязан на предметную область.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы