import j1c.ru.Metadatas;
import j1c.ru.V7;
import j1c.ru.Metadatas.Catalog;
import j1c.ru.V7.CatalogManager;
import j1c.ru.V7.CatalogReference;
import java.util.Iterator;
import java.util.List;
public class ReadCatalogs {
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();
CatalogManager manager = v7.new CatalogManager(name);
List<CatalogReference> sample= manager.selectRefs();
for(Iterator<CatalogReference> i=sample.iterator();i.hasNext();){
CatalogReference ref = i.next();
Metadatas.Catalog meta = manager.getMetaObject();
List<Metadatas.Property> sample2 = meta.getPropertys();
System.out.println(name.toUpperCase()+": '"+ref+"'");
System.out.println(String.format("|%1$20S|%2$40S|%3$7S|%4$7S|", "Код", "Наименование", "Уровень","Пометка"));
System.out.println(String.format("|%1$20S|%2$40S|%3$7S|%4$7S|", ref.getCode(), ref.getName(), ref.getLevel(),String.valueOf(ref.isMark())));
for(Iterator<Metadatas.Property> j=sample2.iterator();j.hasNext();){
Metadatas.Property property = j.next();
System.out.println(property.getName()+": "+ref.getAttribute(property.getName()));
}
}
}
} catch (Exception e) {
System.out.println("Error: "+e);
System.exit(1);
}
}
}