Имя: Пароль:
1C
1C 7.7
v7: Упаковщик в JSON
,
0 zenon46
 
12.08.22
21:01
Доброго вечер! Может есть у кого упаковщик в json для 7.7, сделал свой, так вот беда, падает от нехватки оперативной памяти, хотя строк всего 185 тысяч, на двух полях. Каждое поле строка длиной 32.
1 big
 
12.08.22
21:23
Эхх... на работе всё. ((
2 zenon46
 
12.08.22
21:25
(1) не срочно, жду, главное рабочее решение.
3 big
 
12.08.22
21:28
В текстовик скинул функции из ГМ. Где-то на ИС нашёл. Конечно таких больших объемов не гонял, но попробовать стоит. ))

https://disk.yandex.ru/d/7N5nahTycPGdug
4 big
 
12.08.22
21:29
Упсс... по-моему это разбор ИЗ json...
5 trad
 
12.08.22
21:41
(0) на оле объекте сделал?
Если да, то гугли oleexsup и делай вызовы через него
6 Fynjy
 
12.08.22
21:51
json обычный текстовый файл, что мешает сделать к примеру через "Scripting.FileSystemObject" помнится у меня без проблем почти под 7 гиг делался текстовый.
7 Злопчинский
 
12.08.22
22:30
на ИС есть пак/анпак в джсон для 77
8 ДедМорроз
 
13.08.22
05:38
А в чем проблема json ?
Я его на VbScript пишу через Scripting FileSystemObject и также читаю причем сразу с перекодировкой в utf-8.
В 7.7 Sripting.FileSystemObject прекрасно доступен и никакого переполнения памяти быть не может, если, конечно, не сделать срыв стека, записывая взаимозависимые объекты.
9 zenon46
 
13.08.22
08:51
(7) смотрел там, тоже не особо быстро работает.
10 zenon46
 
13.08.22
08:52
(8) можно пример кода, никогда не работал с Sripting.FileSystemObject
11 Злопчинский
 
13.08.22
10:14
(10) Пишешь
fso = СоздатьОбъект("Scripting.FileSystemObject");
а дальше в яндексе ищешь методы и 1--в-1, типа

    Сообщить("начало "+ТекущееВремя());
    СЗ = СоздатьОбъект("СписокЗначений");
    
    глFSO = СоздатьОбъект("Scripting.FileSystemObject");
    Т = глFSO.OpenTextFile("d:\test.txt",1,0,0);

    Пока Т.AtEndOfStream=0 Цикл Стр    = Т.ReadLine();
        Стр = """"+Стр+""""; Стр = СтрЗаменить(Стр,";",""","""); СЗ.ИзСтрокиСРазделителями(Стр);
        Информация = СЗ.ПолучитьЗначение(1); ТипаДата = СЗ.ПолучитьЗначение(2); ТипаДатаВремя = СЗ.ПолучитьЗначение(3);
    КонецЦикла;
    
    Т.Close();     
    Сообщить("конец "+ТекущееВремя());
12 Злопчинский
 
13.08.22
10:16
13 trdm
 
13.08.22
21:48
(6) > json обычный текстовый файл, что мешает сделать к примеру через "Scripting.FileSystemObject" помнится у меня без проблем почти под 7 гиг делался текстовый.

уот-от.
14 Garykom
 
гуру
13.08.22
21:54
(0) а ты по кусочкам в текстовые файлы пиши а потом их складывай
15 Злопчинский
 
13.08.22
22:07
(14) ага
copy /b t1 +t2 +t3 titog