gifts2017

Особенности сортировки в 1С:Предприятие 7.7

Опубликовал Владимир (hogik) в раздел Программирование - Практика программирования

Подобная "разработка" использовалась для анализа/сравнения порядка индексов таблиц БД  в различных СУБД: "родные" DBF, MS SQL, CodeBase 6.5, Advantage 7.x/8.x/9.x. Тогда было выяснено, что в этих СУБД разный порядок сортировки индекса.

Особенности сортировки в "1С:Предприятие 7.7".

Подобная "разработка" использовалась для анализа/сравнения порядка индексов таблиц БД  в различных СУБД: "родные" DBF, MS SQL, CodeBase 6.5, Advantage 7.x/8.x/9.x. Тогда было выяснено, что в этих СУБД разный порядок сортировки индекса.

Повторно обратиться к данной "проблеме" меня побудил планируемый переход с Windows МЕ/2000/XP на Windows 7 (локализация Eng и Rus есть во всех вариантах Windows-а).Т.е. для выяснения - достаточно ли только отключить проверку кодовой страницы (файлом OrdNoChk.prm) при совместной работе этих ОС-ов с общей базой данных.

Конфигурация и внешняя обработка показывает порядок сортировки для:

1) Массива символов.

2) Индекса таблицы БД.

3) Таблицы значений.

4) Списка значений.

В результирующем отчете выделяются цветом символы не совпадающие с элементом массива в результате сравнения с применением функции ВРег(), т.к. в "движке" 1С для построения индекса таблицы, для символьных полей, используется функция UPPER().

Установка:

1) Развернуть архив.

2) Подцепить каталог в окне запуска 1С.

3) Войти в 1С монопольно.

Внешняя обработка и "документация" расположены в подкаталоге ExtForms.Файл "Символы.mxl" создан (локально) в DBF-ной версии "1С:Предприятие 7.7" (версия 7.70.25) под управлением "Windows XP Professional x64 Edition SP2"(Eng) и полностью совпал с файлами (и базой данных) созданными в "Windows 2000 Advanced Server SP4+Update Rollup 1"(Eng) и "Windows ME"(Rus).

 Что можно выяснить данной "разработкой"?

После выполнения настроек (по рекомендациям разработчиков 1С) развертываем данную "разработку" под управлением различных ОС-в. Сохраняем отчеты в файлы. Сравниваем файлы из под различных ОС-ов. Если файлы полностью совпали, то можем "спать спокойно". И, соблюдая ограничения и рекомендации от разработчиков 1С, эксплуатируем систему в рамках уже существующих проблем расхождения порядка сортировки. Т.е. системе не стало сильно хуже. Это не означает, что не появятся другие проблемы. Но это хоть какая-то гарантия, что система, на первый взгляд, работоспособна.

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

1) "Массив" - нарушения в логике проблемных алгоритмов (написанных на встроенном языке платформы) и в логике системных (внутренних) алгоритмов платформы.

2) "Индексы" - порча индексов и, как следствие, порча базы данных.

3) "Таблица" и/или "Список" - нарушение в логике проблемных алгоритмов (написанных на встроенном языке платформы). 

Обновление от 20.06.2011:

Добавлено создание файлов *.dat в подкаталоге ExtForms, что позволяет сравнить идентичность порядка сортировки отдельно для "Массива, Индекса, Таблицы, Списка" программным способом, а не "глазами и руками".

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
1c_test.zip
.zip 17,09Kb
05.06.13
59
.zip 17,09Kb 59 Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Рытов (Арчибальд) 01.06.11 13:22
От же загогулина какая... Не комментируют. Но плюсуют. Типа "без слов". :D
2. Владимир (hogik) 01.06.11 17:32
(1)
Скоро мне привезут Win7(Rus) - проверю, сравню... Напишу вторую часть статьи. Вот, тогда, и поговорим. ;-) Хотя, когда я смотрю на порядок сортировки в рамках одной среды (системы), то задаюсь вопросом - а как ЭТО, вообще, работает? :-(
3. Альтаир (Altair777) 03.06.11 10:04
(1) еще далеко не факт что всю плюсоввшие и скачавшие это опробовали
потом и комментов нет :)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа