Проблема с инициализацией экземпляра объекта (класса AsciiIo)
Из класса "XXX extends RunBaseBatch" создаю экземпляр класса ExportToCrystall_Item, в его new-методе создается экземпляр класса AsciiIo  - вываливается трассировка: "Ошибка инициализации объекта AsciiIo".
Если экз. класса создается в джобе - New-метод отрабатывает нормально 
 
Код в абстрактном классе:
	PHP код:
	
		
			
abstract class ExportToCrystall
{
    #ExportToCrystall
    AsciiIo                 myfile;
} 
		
	
 Код в потомке:
	PHP код:
	
		
			
class ExportToCrystall_Item extends ExportToCrystall
{
}
void new(InventLocationId _shop)
{
    myfile = new AsciiIo(this.getExportFolder(_shop) + this.getFileName(),"w");
    myfile.outFieldDelimiter("|");
} 
		
	
 Код в потомке RunBaseBatch:
	PHP код:
	
		
			
class ExportToCrystall_Items_PO extends RunBaseBatch
{
    DialogField         dfInventLocationId;
    DialogField         dfItemRange;
    InventTable         inventTable;
    InventItemBarCode   inventItemBarCode;
    VendTable           vendTable;
    PurchTable          purchTable;
    PurchLine           purchLine;
    InventLocationId_Shop locationId;
    anyItemRangeId      itemRange;
    #define.CurrentVersion(1)
    #localmacro.CurrentList
        locationId,
        itemRange
    #endmacro
}
void run()
{
    ClassificatorRanges     classificator = new ClassificatorRanges();
    tmpRangesInvent         itemBuffer;
    #avifiles
    SysOperationProgress    progressBar;
    int                     i, m;
    ExportToCrystall_Item   exportToCrystallItem = new ExportToCrystall_Item(locationId);
    ;
    classificator.run(itemRange);
    m = (select count(RecId) from tmpRangesInvent).RecId;
    progressBar = SysOperationProgress::newGeneral(#AviTransfer, 'Экспорт в Кристалл',m);
    while select itemBuffer
    {
        exportToCrystallItem.WriteLine(locationId, [itemBuffer.ItemId]);
        i++;
        progressBar.incCount();
        progressBar.setText(strfmt("Передано: %1 из %2 товаров", i, m));
        progressBar.update(true);
    }
    classificator.finalize();
    progressBar.kill();
} 
		
	
 А вот тотже код, но в джобе - РАботает  
 
	PHP код:
	
		
			
static void Job7(Args _args)
{
    ClassificatorRanges     classificator = new ClassificatorRanges();
    tmpRangesInvent         itemBuffer;
    #avifiles
    SysOperationProgress    progressBar;
    int                     i, m;
    ExportToCrystall_Item   exportToCrystallItem = new ExportToCrystall_Item("М6_ОСН");
    ItemRangeId             itemRange = "00002706_147";
    InventLocationId        locationId = "М6_ОСН";
    ;
    classificator.run(itemRange);
    m = (select count(RecId) from tmpRangesInvent).RecId;
    progressBar = SysOperationProgress::newGeneral(#AviTransfer, 'Экспорт в Кристалл',m);
    while select itemBuffer
    {
        exportToCrystallItem.WriteLine(locationId, [itemBuffer.ItemId]);
        i++;
        progressBar.setText(strfmt("Передано: %1 из %2 товаров", i, m));
        progressBar.incCount();
    }
    classificator.finalize();
}