Класс для выборки документов за период

Автор:LDmitry
Дата:06.07.2005
Просмотров:2216
Скачиваний:683
Оценка: - , Оценок - 0
Скачать (arj-файл; Размер - 5060)

Обсудить в форуме

Описание

Данный класс позволяет сделать выборку документов за период по главе и валюте. Документы могут быть выбраны в разрезе счета плательщика, счета получателя, а также в разрезе документов операционных дней.

27.10.2005
Найдена ошибка при выборке валютных документов в разрезе операционных дней:
Необходимо в методе CDocuments.CheckFileKey код "Currency.Check" заменить на "(( Account.Name == "" ) or Currency.Check )"

Текст примера

 Import	_document;

// здесь обрабатываем документ
Macro Handler( f, h )

	if( h.AccCorrName == "payer" )
		println( f.rec.Account_Receiver, " ", f.rec.Sum:15 );
	elif( h.AccCorrName == "receiver" )
		println( f.rec.Account_Payer, " ":16, f.rec.Sum:15 );
	else
		println( f.rec.Account_Receiver, " ", f.rec.Account_Payer, f.rec.Sum:15 );
	end;
	message( f.rec.SortKey );
end;

Var	h = CDocuments( {curdate}-1, {curdate} );

	// или так
	h.SetRange( {curdate}-1, {curdate} );

// отбираем по дебету
	h.Chapter.SetRange( 1 );
	h.Currency.SetRange( 0 );
	h.Account.Payer.SetRange( "20202810700000000001" );
	// отбор
	h.Select( @Handler, h );


// отбираем по кредиту
	h.Chapter.SetRange( 1 );
	h.Currency.SetRange( 0 );
	h.Account.Receiver.SetRange( "20202810700000000001" );
	// отбор
	h.Select( @Handler, h );


// отбираем за период
	h.Chapter.SetRange( 1 );
	h.Currency.SetRange( 0 );
	// обязательно обнуляем
	h.Account.SetRange( "" );
	// отбор
	h.Select( @Handler, h );