Здравствуйте! Сегодня сделал импорт данных в базу и полезли баги.
Я сделал форму (на основе Items By Location). У меня стояла задача
при выборе клиента отображать его цены и наличие на складах.
Сразу оговорюсь: работает это все отвратительно и с ошибками (когда много записей),
а когда их мало то все нормально. Кто нибудь пожалуйста подскажите более рациональное решение
этой проблемы.
Добавил в таблицу поле ClientPrice и написал такой код:
Cust.GET(ClientNo); //Берем клиента
//Смотрим его валюту и вытаскиваем курс
IF Cust."Currency Code"<>'' THEN
Currency.SETFILTER("Currency Code",'%1',Cust."Currency Code")
ELSE
Currency.SETFILTER("Currency Code",'%1','EUR');
Currency.FIND('+');
CurrencyRate:=Currency."Exchange Rate Amount";
SalesPrice.SETFILTER("Sales Code",Cust."Customer Price Group"); //Делаем фильтр по группе продажи
Rec.FIND('-');
REPEAT
BEGIN
SalesPrice.SETFILTER("Item No.",'%1',Rec."No."); //Выбираем товар и добавляем его цену (если нет то обнуляем)
IF SalesPrice.FIND('-') THEN
Rec.ClientPrice:=SalesPrice."Unit Price"*CurrencyRate
ELSE
Rec.ClientPrice:=0
END
UNTIL Rec.NEXT=0;
CurrForm.UPDATE(TRUE); <----Вот тут выскакивает запрос на переименование записи и ошибка
|