Показать сообщение отдельно
Старый 17.12.2014, 14:21   #1  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от Morpheus Посмотреть сообщение
Этот скрипт при каждом запуске обрабатывает только часть строк таблицы LogisticsAddressCountryRegion удовлетворяющих условиям отбора (ValidTimeState не используется).

X++:
    LogisticsAddressCountryRegion addressCountry;
    Integer                       counter;

    while select addressCountry
           where addressCountry.CountryRegionId != addressCountry.ISOcode
    {
        counter++;
        
        addressCountry.CountryRegionId = addressCountry.ISOcode;
        addressCountry.renamePrimaryKey();
    }
    
    info(int2str(counter));
В чем может быть проблема?
Разделите курсор addressCountry на два - для чтения и для апдейта: addressCountry и addressCountryUpdate. Внутри цикла по addressCountry перевыбирайте курсор addressCountryUpdate по RecId и включите в ttscommit\ttsbegin.