Допустим, нам требуется узнать какие позиции номенклатуры имеют страну происхождения с наименованием "РБ".

Для начала выясним, что реквизит "СтранаПроисхождения" является ссылочным и сравнивать его со строкой не имеет смысла. Нам потребуется брать данные также из справочника стран (а именно наименование). Т.е. потребуется соединение справочника "Номенклатура" со справочником "ОКСМ" по полю "СтранаПроисхождения" для справочника "Номенклатура" и ID (внутренним идетификатором) для справочника ОКСМ.

Если Вы не понимаете о чем идет речь - почитайте очень хорошую и очень короткую книгу.

Если бы мы писали запрос в SQL Server Management Studio, то нам потребовалось бы заглянуть в файл 1cv7.dds, который находится в каталоге базы данных и содержит структуру базы данных (словарь).

На картинке показано, что данные справочника "Номенклатура" находятся в таблице SC84. Поле "СтранаПроисхождения" имеет имя SP5012 в этой таблице. Также узнаем, что справочник "ОКСМ (Классификатор стран)" хранится в таблице SC566.

Ниже приведена картинка с текстом запроса и результатом:

Все это можно сделать гораздо проще, быстрее и удобнее с помощью внешней компоненты 1С++.

Компоненту 1С++ можно скачать на официальном ресурсе.

Первым делом нам нужно скопировать файл 1cpp.dll в каталог базы данных и загрузить внешнюю компоненту.

Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "1cpp.dll") = 0 Тогда
    Сообщить("ВК 1С++ не загружена!");
КонецЕсли;

RecordSet = СоздатьОбъект("ODBCRecordSet");

Теперь напишем такой же запрос с помощью 1С++:

ТекстЗапроса = "
|SELECT Номенклатура.ID [Ссылка $Справочник.Номенклатура]
|, ОКСМ.DESCR           ОКСМ
|FROM $Справочник.Номенклатура AS Номенклатура With (NOLOCK)
|LEFT JOIN $Справочник.ОКСМ AS ОКСМ With (NOLOCK) ON $Номенклатура.СтранаПроисхождения = ОКСМ.ID
|WHERE (ОКСМ.DESCR = 'РБ')
|";
    
ТЗ = RecordSet.ВыполнитьИнструкцию(ТекстЗапроса);    

ТЗ.ВыбратьСтроку();

Результат работы показан на картинке ниже:

Как видите, благодаря метаименам, мы можем написать  $Номенклатура.СтранаПроисхождения вместо Номенклатура.SP5012. А благодаря типизации [Ссылка $Справочник.Номенклатура] можем получить ссылку на элемент справочника и доступ к его редактированию:

Спр = СоздатьОбъект("Справочник.Номенклатура");
Спр.НайтиЭлемент(ТЗ.Ссылка);

Подробная он-лайн документация по запросам в 1С++ находится здесь.

Масса примеров и обсуждений находится на официальном форуме компоненты.

Полезной будет информация по структуре таблиц 1С 7.7 и описанию полей с примерами запросов.

Со структурой таблиц бухгалтерской подсистемы можно ознакомиться здесь.

Другие статьи по прямым запросам:

Ускоряем регистрацию объектов в МОД (для SQL)

Проверка дублей строк с помощью 1С++

Аналог ON DUPLICATE KEY UPDATE в MS SQL

Как использовать УРБД в отличающихся конфигурациях

Примеры решения нестандартных задач на T-SQL в 1С

Как написать прямой запрос в 1С (DBF, 1sqlite)

Запросы в 1С к двум базам одновременно (DBF, OLE DB)

Онлайн резервирование товаров на складе (online reservation)