Имя: Пароль:
1C
1C 7.7
v7: Таблица значений - нехватка памяти
0 zenon46
 
16.12.19
16:41
Доброго дня!
Продолжаем заниматься "издевательством" над "клюшками" есть отчет который собирает данные по дням в интервале с по, по списку номенклатуры. Отчет аналитичсекий, соответсвенно интервал выборки не маленький, таблица получаются от 2млн записей и по 10 полей. 1С-ка показала нам дулю, с нехваткой оперативной памяти. Посоветуйте, как можно выкрутиться из этой ситуации, м.б. в справочник ее сгружать? Или в dbf-ку сохранить ?
1 ДенисЧ
 
16.12.19
16:42
Скуль под рукой есть? Туда пиши...
2 1Сергей
 
16.12.19
16:43
Память нарастить не предлагали ещё? :)
3 ДенисЧ
 
16.12.19
16:44
(2) Для 77? Ты её заставишь больше 2Г пользовать? Ты гений?
4 zenon46
 
16.12.19
16:44
(2) а смысл, процесс 32-х разрядный, набирает 1.8 и сваливается, память свободная есть.
5 zenon46
 
16.12.19
16:46
(1) скл есть, не понятно, как туда записать, но еще более непонятно как с этими данными потом работать, там в дальнейшем используются методы "НайтиСтроку", "ПолучитьЗначение" и т.п. для работы с ТЗ.
6 Ёпрст
 
16.12.19
16:47
создай базу в sqllite, там и балуйся
7 d4rkmesa
 
16.12.19
16:47
(0) >> Отчет аналитический

Попробовать огранизовать какой-нибудь OLAP
8 Garykom
 
гуру
16.12.19
16:47
(0) 1. Убрать длинные строковые поля из ТЗ, только ссылки чтобы остались на справочники
2. Уменьшить периоды и делать кусками
3. Перейти на 8-ку
4. Написать ВК или использовать готовый OLAP
9 Ёпрст
 
16.12.19
16:48
или в comactSql
10 ДенисЧ
 
16.12.19
16:52
(9) По слову "comactSql" гугель выдаёт сплошь иудейские буквы? Ви таки да?
11 zenon46
 
16.12.19
16:54
(8) там и так все поля с числами, поле код + номенклатура (ссылка), писе, и да используется ИТЗ, в которой потом идекс создается.
12 Ёпрст
 
16.12.19
16:55
(10) sql compact
13 1Сергей
 
16.12.19
16:56
(10) ты ещё камшот sql загугли :)
14 ДенисЧ
 
16.12.19
16:57
(13) Я не знаю таких слов...
15 victuan1
 
17.12.19
07:44
(11) Так всё-таки, ТЗ или ИТЗ используется? (в сабже говорится про ТЗ).
16 Андрей_Андреич
 
naïve
17.12.19
08:10
Уволить того чудака, который заказывает отчет на 2 миллиона строк. Сколько лет он его анализировать собрался?
17 Sserj
 
17.12.19
08:14
(11) Простой путь - создай временную таблицу в SQL и делай все в ней запросами.
Сложный путь - написать класс наследник таблицы значений и в ней все методы переделать прямой работой с таблицей в SQL.
18 MetaDon
 
17.12.19
08:20
(0) простейший путь - Отчет за каждый день в отдельную ТЗ; при выводе можно обьединить за все дни
19 Djelf
 
17.12.19
08:27
(0) Пропатч на 4гига https://ntcore.com/?page_id=371
Временно спасет. Но с таким объемом все равно прямой путь в sql.
20 timurhv
 
17.12.19
08:35
21 Андрей_Андреич
 
naïve
18.12.19
18:27
(16) Писать на скуле отчет с кучей группировок на выбор и при каждом нажатии на строчку выбор расшифровки/детализации. И детать будет и наглядно и быстро заказчик найдет что ему интересно. Ну нафик никому не нужны отчеты на миллионы строк.
22 Андрей_Андреич
 
naïve
18.12.19
18:27
(21) детать = летать
23 VladZ
 
18.12.19
18:50
(5)
1. Для больших объемов данных давным-давно придумали механизм под названием "Базы данных".
2. Базы данных используют свои механизмы поиска. Поэтому ""НайтиСтроку", "ПолучитьЗначение" и т.п. для работы с ТЗ." - сразу в сад.
3. Как только вы "подсядете" на 1с++ - вы уже не сможете остановиться. ;)
24 VladZ
 
18.12.19
18:55
+23 Еще одно замечание: за все время работы с 1с я еще ни разу не встречал человека, который хотел бы видеть в отчете 2 миллиона записей.
Отсюда вывод: при получении данных сразу ограничивать выборку до "необходимого вида".