Имя: Пароль:
1C
 
Долгая запись в реквизит таблицы значений. Что за глюк...
Ø (Волшебник 11.05.2023 21:09)
0 AneJIbcuH
 
11.05.23
19:33
Начну со скрина замера

http://joxi.ru/VrwzgD3tgW3GPA

Одна вроде простая строка...

Создается чистая ТЗ:

        КвалификаторыСтроки = Новый КвалификаторыСтроки(100);
                ОписаниеСтроки = Новый ОписаниеТипов("Строка", ,КвалификаторыСтроки);

        ТЗРасшифровка= Новый ТаблицаЗначений;
        ТЗРасшифровка.Колонки.Добавить("Перемещение",ОписаниеСтроки);
        ТЗРасшифровка.Колонки.Добавить("Склад");
        ТЗРасшифровка.Колонки.Добавить("СкладПолучатель");
        ТЗРасшифровка.Колонки.Добавить("Количество");
        ТЗРасшифровка.Колонки.Добавить("Сумма");

Заполняется

ВыборкаДеталки = ВыборкаПодразделения.Выбрать();
    Пока ВыборкаДеталки.Следующий() Цикл
    НовСтрока = ТЗРасшифровка.Добавить();
    НовСтрока.Перемещение = ВыборкаДеталки.Перемещение;
    ЗаполнитьЗначенияСвойств(НовСтрока,ВыборкаДеталки,,"Перемещение");


ВыборкаДеталки.Перемещение  - тип строка, в запросе получено Представление документа. Ничего такого, а какая-то дикая деградация производительности.
1 shuhard
 
11.05.23
19:41
(0) 200 тысяч элементов сколько памяти сожрали ?
2 AneJIbcuH
 
11.05.23
19:44
(1) Около 1 гига 1С показывает. ну тут много данных, в основном отборы меньше выдают.
Но вот в чем загвоздка http://joxi.ru/D2Pdbk4cWN8ep2
3 shuhard
 
11.05.23
19:46
(0) КвалификаторыСтроки = Новый КвалификаторыСтроки(100);  - замени на 10, замерь время
4 AneJIbcuH
 
11.05.23
20:18
(3) Пробовал по разному. Просто подставляешь строку, типа "Тест". И всё норм становится, а из запроса что-то не то...
5 Смотрящий
 
11.05.23
20:26
(4) Или длины строк не совпадают в запросе и в таблице, или используется .Представление - та есть нюансы с преобразованием;

"Особенностью данной функции является то, что ее результат не может быть использован в выражении. Такая особенность связана с тем фактом, что преобразование значений в строку осуществляется уже при получении данных из результата запроса, т.к. преобразование произвольного значения в строку при исполнении запроса на сервере, не осуществляется, в силу того, что при преобразовании значений в строку необходимо учитывать локальные настройки."
6 AneJIbcuH
 
11.05.23
20:43
Да вообще глюк какой-то
http://joxi.ru/Y2LQgOyTv1DaWA
7 Волшебник
 
11.05.23
20:51
(6) Ну вроде объяснение в (5). 1С опять делает серию запросов, чтобы достать представление
8 AneJIbcuH
 
11.05.23
20:56
(7) Победил. Не очевидно было, в запросе документ - составной тип, ещё и NULL мог быть при Полном соединении, но в следующей вр. таблице получал Представление() и это как-то не так отрабатывало. Вообщем обработал данные в запросе и взлетело
9 Волшебник
 
11.05.23
20:59
(8) осторожнее с буквами "Вообщем". Эти буквы упомянуты в правилах.
10 AneJIbcuH
 
11.05.23
21:04
(9) Удафкомовский жаргон ("жаргон падонкофф"), интересно :)
11 Волшебник
 
11.05.23
21:05
(10) С выходом из анабиоза
12 AneJIbcuH
 
11.05.23
21:08
(11) Не совсем понимаю, почему данное слово подходит к жаргону. Давно часто используемый, типа "привет мишутка" ) тут понятно..
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший