Создание и проведение документа

Вообще проведение документа реализовано через наследование.
Т.е. нужно переопределить метод close() (тоже касается и отмены проведения, удаления и пр. с соответствующими методами.
По основной идее обработчики событий в 1С соответствуют protected методам в J1C
Переопределяем встроенный класс (в 1С мы бы переопределяли модуль проведения):

import j1c.ru.V7;
import j1c.ru.V7.CatalogReference;
import j1c.ru.V7.DocumentObject;
import j1c.ru.V7.DocumentString;
import j1c.ru.V7.Entry;
import j1c.ru.V7.OperationObject;

import java.math.BigDecimal;
import java.util.Iterator;
import java.util.List;

public class OkazanieUslug extends DocumentObject{
	private V7 v7;

	public OkazanieUslug(V7 v7) {
		v7.super("ОказаниеУслуг");
		this.v7 = v7;
	}
	
	@Override
	protected void closing() {
		//создаем операцию
		OperationObject oper = getOperationObject();

		//бежим по строкам и набиваем проводки		
		List<DocumentString> rows = getRows();
		for(Iterator<DocumentString>i=rows.iterator();i.hasNext();){
			DocumentString row = i.next();
			
			Entry entry = oper.newEntry();
			
			entry.getDebit().setAccount(v7.accountByCode("60.1"));
			entry.getDebit().setSubconto(0, getAttribute("Контрагент"));
			entry.getDebit().setSubconto(1, getAttribute("Договор"));
			
			entry.getKredit().setAccount(v7.accountByCode("90.1.1"));
			entry.getKredit().setSubconto(0, ((CatalogReference)row.getAttribute("Услуга")).getAttribute("ВидНоменклатуры"));
			entry.getKredit().setSubconto(1, ((CatalogReference)row.getAttribute("Услуга")).getAttribute("СтавкаНДС",getDate()));
			entry.getKredit().setSubconto(2, ((CatalogReference)row.getAttribute("Услуга")).getAttribute("СтавкаНП",getDate()));
			
			entry.setSum((BigDecimal)row.getAttribute("Сумма"));
			entry.setAttribute("СодержаниеПроводки", "Учтена выручка");
			entry.setAttribute("НомерЖурнала", "ТВ");
			
			oper.put(entry);
			
		}
		
		oper.write();
	}
}

Собственно используем переопределенный объект:

import j1c.ru.V7;
import j1c.ru.V7.CatalogManager;
import j1c.ru.V7.CatalogReference;
import j1c.ru.V7.DocumentString;
import java.math.BigDecimal;


public class CreateCloseDocument {
	
	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]);
			
			System.out.println("Создание и проведение документа");
			
			CatalogManager kontragentM = v7.new CatalogManager("Контрагенты");
			CatalogReference kontragent = kontragentM.serchByCode("00000172", false).get(0);
			
			CatalogManager dogovorM = v7.new CatalogManager("Договоры");
			dogovorM.setOwner(kontragent);
			CatalogReference dogovor = dogovorM.serchByCode("000021", true).get(0);
			
			CatalogManager typePriceM = v7.new CatalogManager("ТипыЦен");
			CatalogReference typePrice = typePriceM.serchByCode("00001", false).get(0);
			
			CatalogManager variantNalogovM = v7.new CatalogManager("ВариантыРасчетаНалогов");
			CatalogReference variantNalogov = variantNalogovM.serchByName("Без налогов", false).get(0);
		
			OkazanieUslug docUslugi = new OkazanieUslug(v7);
			docUslugi.newObject();
			docUslugi.setAttribute("Контрагент", kontragent);
			docUslugi.setAttribute("Договор", dogovor);
			docUslugi.setAttribute("ТипУслуги", 1);
			docUslugi.setAttribute("ЗачитыватьАванс", 2);
			docUslugi.setAttribute("ТипЦен", typePrice);
			docUslugi.setAttribute("ВариантРасчетаНалогов", variantNalogov);
			
			CatalogManager nomenM = v7.new CatalogManager("Номенклатура");
			CatalogReference nomen = nomenM.serchByName("Автомобиль Лексус", false).get(0);
			
			
			DocumentString row = docUslugi.newString();
			
			row.setAttribute("Услуга", nomen);
			row.setAttribute("Количество", 1);
			row.setAttribute("Цена", 550);
			row.setAttribute("Сумма", ((BigDecimal)row.getAttribute("Количество")).multiply((BigDecimal)row.getAttribute("Цена")));
			row.setAttribute("Всего", ((BigDecimal)row.getAttribute("Сумма")).add((BigDecimal)row.getAttribute("НДС")));
			docUslugi.putRow(row);
			
			row = docUslugi.newString();
			row.setAttribute("Услуга", nomen);
			row.setAttribute("Количество", 1);
			row.setAttribute("Цена", 1000);
			row.setAttribute("Сумма", ((BigDecimal)row.getAttribute("Количество")).multiply((BigDecimal)row.getAttribute("Цена")));
			row.setAttribute("Всего", ((BigDecimal)row.getAttribute("Сумма")).add((BigDecimal)row.getAttribute("НДС")));
			docUslugi.putRow(row);

			docUslugi.write();
			docUslugi.close();
			
			System.out.println(docUslugi);

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