Работа через прямые запросы

В качестве примера показана работа со справочниками. Подключаемся к базе (каталог базы передается через аргумент командной строки), получаем метаданные
справочников, после чего выбираем запросом все элементы и выводим их в консоль

import j1c.ru.Metadatas;
import j1c.ru.V7;
import j1c.ru.Metadatas.Catalog;
import j1c.ru.V7.CatalogReference;
import j1c.ru.V7.RecordSet;
import j1c.ru.V7.ResultSet;
import java.util.Iterator;
import java.util.List;

public class ReadCatalogs2 {

/**
 * @param args
 */
public static void main(String[] args) {
	
	try {
		V7 v7 = new V7();
		if(args.length!=1){
			throw new Exception("Incorect count parameters");
		}
		v7.connect(args[0]);
		
		List<Catalog> catalogs = v7.getMetaData().selectTypes("Справочник.*");
			for(Iterator<Catalog>k=catalogs.iterator();k.hasNext();){
			
			String name  = k.next().getName();
			RecordSet r = v7.getRecordSet();
			Metadatas.Catalog meta = v7.getMetaData().getCatalog(name);
			ResultSet result = r.executeQuery("select id as [Элемент $Справочник."+name+"] from $Справочник."+name);
			while(result.next()){
				//используем метод getObject - который возвращает уже типизированный объект-ссылку. Это длстгается
				//за счет того, что в запросе использовали типизацию: ... as [Элемент $Справочник."+name+"]
				CatalogReference ref = (CatalogReference)result.getObject("Элемент");
					
				//просто ссылка
				System.out.println(ref);
				
				//через прямой запрос
				if(meta.getLengthCode()>0 && meta.getLengthName()>0){
					System.out.println(ref.getCode()+" "+ref.getName());
				}
					
				//а так же мы можем пройти прямо по полям запроса
				List<Metadatas.Property> sample2 = meta.getPropertys();
			for(Iterator<Metadatas.Property> j=sample2.iterator();j.hasNext();){
						Metadatas.Property property = j.next();
					if(!property.isPeriodical()){ System.out.println(property.getName()+": "+result.getString("sp"+property.getId()));
					}
				}
			}
		}


	} catch (Exception e) {
		System.out.println("Error: "+e);
		System.exit(1);
	}
}
}