Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ccc621
Зарегистрирован: 19.09.2018 Сообщения: 27
|
Добавлено: Ср Фев 19, 2020 11:50 Заголовок сообщения: RP 35 vs 32 |
|
|
Добрый день!
Столкнулись со следующим.
Например в компании 1000 работников.
Открываем БОСС на платформе RP версии 32
Открываем список работников
Запускаем скрипт
let _i = 0;
scan @$glob
execute{let _i += 1 ;};
return _i
На выходе имеем 1000
Открываем БОСС на платформе RP версии 35
Открываем список работников
Запускаем этот же скрипт
На выходе имеем 75
Скажите, пожалуйста, для чего сделаны данные изменения и регулируются ли они системными переменными?
Или же нужно теперь в каждый SCAN прописывать NOCHECK?
Или может быть есть другое решение? |
|
Вернуться к началу |
|
|
RVV Большой шоколадный орден
Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Ср Фев 19, 2020 12:13 Заголовок сообщения: |
|
|
1 Scan идет по отмеченным (check) записям?
2 Список зачитан полностью? |
|
Вернуться к началу |
|
|
ccc621
Зарегистрирован: 19.09.2018 Сообщения: 27
|
Добавлено: Ср Фев 19, 2020 12:15 Заголовок сообщения: |
|
|
RVV писал(а): | 1 Scan идет по отмеченным (check) записям?
2 Список зачитан полностью? |
В том то и дело, что на платформе 32 не нужно было ни отмечать записи ни зачитывать весь список. |
|
Вернуться к началу |
|
|
RVV Большой шоколадный орден
Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Ср Фев 19, 2020 12:38 Заголовок сообщения: |
|
|
Скорее всего, это недокументированная фича.
Тк SCAN работает по отмеченным записям |
|
Вернуться к началу |
|
|
ccc621
Зарегистрирован: 19.09.2018 Сообщения: 27
|
Добавлено: Ср Фев 19, 2020 13:23 Заголовок сообщения: |
|
|
Тогда возникает вопрос, почему работало раньше?
Значит типа что раньше SCAN работал неверно? |
|
Вернуться к началу |
|
|
DUCKKK Большой шоколадный орден
Зарегистрирован: 16.09.2009 Сообщения: 1686
|
Добавлено: Ср Фев 19, 2020 14:10 Заголовок сообщения: |
|
|
Оператор SCAN отрабатывает только записи с CHECK, поэтому нет смысла зачитывать весь список, особенно если он с неполной зачиткой, такие списки могут быть очень велики. В данном случае обработка SCAN производится только по записям, которые уже зачитаны в память. Операция “let _i += 1 ;” выполняется только для записей с CHECK.
В случае SCAN … NOCHECK, обработка списка ведется по всем записям списка. В версии 35 и выше работа данного оператора приведена в соответствие с документацией. |
|
Вернуться к началу |
|
|
|