Приблизительно так.
Код:
Соединение = Новый COMОбъект ("OracleInProcServer.XOraSession");
МоеСоединение=Соединение.OpenDatabase("Имя_базы","supermag/qqq",0 );
ТекстЗапроса="select d.id,
|d.createdat,
|w.supplierdoc, w.supplierinvoice, w.supplinvoicecreate,
|d.clientindex,cl.inn, d.locationto
|from smwaybillsin w, smdocuments d, smclientinfo cl
|where d.createdat between :data1 and :data2
| and d.docstate=3
| and d.doctype ='WI'
| AND w.doctype='WI'
| and d.opcode=0
| and d.userop is null
| and d.id=w.id
| and d.clientindex=cl.id";
НаборЗаписей=МоеСоединение.CreateDynaset(ТекстЗапроса,0);
если НаборЗаписей.RecordCount()<>0 тогда
пока не НаборЗаписей.EOF() цикл
Строка=Накладные.Добавить();
Строка.ID=НаборЗаписей.Fields("ID").Value;
// Здесь пишешь код создания и определения полей документов
конеццикла;
конецесли;