Архитектура платформы 1с7.7 может быть файл- и клиент-серверная. В первом случае 1с хранит свои данные в таблицах формата dbf, во втором 1с используется как надстройка к Microsoft SQL Server (2000 - 2008). У каждой архитектуры свои особенности работы, но я сейчас не об этом. Затронул эту тему я лишь потому, что в зависимости от архитектуры существуют особенности использования прямых обращений к таблицам базы данных.
В клиент-серверном варианте для получения данных используется ODBC драйвер. В файл-серверном можно воспользоваться драйвером VisualFoxpro или использовать SQLite.
Так как я, в основном, работал с первым вариантом, то примеры буду приводить исходя из своих знаний и своего опыта. Если же Вам потребуется реализовать для файл-серверной архитектуры, пишите - вместе будем разбираться или задавайте вопрос на форуме 1cpp.ru. Там точно помогут.
Итак, стартуем!
1) Для клиент-серверной архитектуры.
- Подключаем при начале работы системы компаненту 1cpp.dll:
Процедура ПриНачалеРаботыСистемы()
...
Если ЗагрузитьВнешнююКомпоненту("1cpp.dll") = 0 Тогда
Сообщить("Неудачная попытка загрузки 1c++.dll");
КонецЕсли;
...
КонецПроцедуры;
- Там, где нужно получить данные:
рс = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "Select Ном.id [Номенклатура $Справочник.Номенклатура]
|From $Справочник.Номенклатура As Ном";
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
тз.ВыбратьСтроку();
Получаем выборку из справочника "Номенклатура". Коротко о том, что я написал: Синтаксис языка запросов соответствует синтаксису TSQL. Помимо этого объект ODBCRecordset использует парсер (директива [] и $). В запрос можно передвавать параметры. Делается это так:
рс = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "Select Ном.id [Номенклатура $Справочник.Номенклатура]
|From $Справочник.Номенклатура As Ном
|Where Ном.descr = :Наименование";
рс.УстПараметр("Наименование","Товар1");
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
тз.ВыбратьСтроку();