Страница 1 из 1

Alter на интерфейс акта на пересортицу

Добавлено: 04 июн 2012, 14:35
Руслан
После установки патчей при компиляции стал ругаться на события cmAlt5 и cmMAKEORDER ("Ошибка: Oops. Такой команды нет: MAKEORDER")... Может эти события переименовали???
Новая версия компонента L_SKLAD, на которой не компилится - 8.10.111.0. Старая версия L_SKLAD - 8.10.84.0

Код: Выделить всё

#Component "L_SKLAD"

alter interface PERESORT;

create view;

Window  EDITDOC;

  HandleEvent
   cmAlt5:
    {
Message ('Выполняется обработчик');

var nrecPl,nrec_Doc : comp;
var NAZ, M_S, NOM_DD :string;
var koef, sum_katsopr : double;
nrec_Doc := katsopr.nrec;

	koef :=	0.51221876;
sum_katsopr := 0;

_loop PATDEFS  where (KEY = '&Const_GP')
	{
	koef := Double(PATDEFS.FORMULA);
	}
If KATSOPR.Vidsopr = Word(600)   //#1
{
_loop SPSOPR  where ((nrec_Doc == SPSOPR.CSOPR))
	{
	spsopr.rprice := Round(spsopr.rprice*koef,0);
	spsopr.price := Round(spsopr.price*koef,0);
	sum_katsopr := 	sum_katsopr + Round(spsopr.rprice*spsopr.kolfact);
	Update current spsopr;
	ReReadRecord (#spsopr);
        }
  katsopr.Summa := sum_katsopr;
  Update current Katsopr;
  ReReadRecord (#katsopr);
}
Message ('Цены пересчитаны с коэф. = ' + DoubleToStr(koef,'66.999999'));
    }
      cmMAKEORDER:
	{
	if katsopr.cpodrto<>katsopr.cpodrfrom
	{
		var stmt     : LongInt;
		var stmt_str : LongInt;
		var messageErr : longint;
		var nresult : word;
		var nresult2 : word;
		var nresult3 : word;
		var KatsoprNrec : comp;
		var tempRes : longint;
		KatsoprNrec := comp(katsopr.nrec);

		stmt := sqlAllocStmt;
		sqlBindCol(stmt, 1, nresult);

		sqlBindParam( stmt, 1, KatsoprNrec );
		sqlPrepare(stmt, stmt_str);
		sqlFreeStr(stmt_str);
		messageErr := sqlExecute(stmt);
		if(messageErr  = 0)
		{
			tempRes := 0;
			while( sqlFetch( stmt ) = tsOk )
			do
			{
				if(nresult = 1)
				{
					message('Будет создана новая партия');
					tempRes := 1;
				}
				else if nresult = 2
				{
					message('Присвоится существующая партия');
				    tempRes := 2;
				}
				else if nresult = 3
				{
					message('Партия уже выбрана');
				 	tempRes := 3;
				}
				else if nresult = 4
				{
					message('МЦ не относится ни к одной из групп в таблице Nadolskiian.Group_mc');
				 	tempRes := 4;
				}
				else if nresult = 5
				{
					message('Функция S$F_GET_PARTY_SECOND неправильно отработала');
				 	tempRes := 5;
				}
			}
			if(tempRes = 0) message('Оприходование отработало неверно. Звоните в техподдержку по телефону 91');
		}
		else message('Опять этот Еррор(');

		ReReadRecord(#sporder);
		ReReadRecord(#spsopr);
		ReReadRecord(#katsopr);
	}
	inherited::handleEvent(cmMAKEORDER);

	}
  end;
  end;
end.