Имя: Пароль:
1C
1С v8
Загрузить данные из файла в отчет на СКД
0 AnisaL
 
17.02.18
22:11
Доброго времени суток!
Подскажите, пожалуйста, есть файл с расширением *.tzn, данные из него нужно подгрузить во внешний отчет, написанный на СКД. Каким образом это можно сделать? База УТ 11 Вот начало этого файла:

{"#",acf6192e-81ca-46ef-93a6-5a6968b78663,
{9,
{7,
{0,"ДатаДокумента",
{"Pattern",
{"D"},
{"L"}
},"ДатаДокумента",19},
{1,"НомерДокумента",
{"Pattern",
{"S",11,1},
{"L"}
},"НомерДокумента",11},
{2,"НоменклатураНаименование",
{"Pattern",
{"S",100,1},
{"L"}
},"НоменклатураНаименование",100},
{3,"НоменклатураАртикул",
{"Pattern",
{"S",50,1},
{"L"}
},"НоменклатураАртикул",50},
{4,"Количество",
{"Pattern",
{"L"},
{"N",15,3,0}
},"Количество",15},
{5,"ТипДокумента",
{"Pattern",
{"S",30,1},
{"L"}
},"ТипДокумента",30},
{6,"СкладНаименование",
{"Pattern",
{"S",50,1},
{"L"}
},"СкладНаименование",50}
},
{2,7,0,0,1,1,2,2,3,3,4,4,5,5,6,6,
{1,174,
{2,0,7,
{"D",20150502185438},
{"S","00-00000062"},
{"S","Х-67891 Стинол Завод бытовой техники"},
{"S","Х-67891"},
{"N",7},
{"S","ПриходныйОрдерНаТовары"},
{"S","Центральный склад"},0},
{2,1,7,
{"D",20150502185438},
{"S","00-00000062"},
{"S","Х-67898 Стинол Завод бытовой техники"},
{"S","Х-67898"},
{"N",7},
{"S","ПриходныйОрдерНаТовары"},
{"S","Центральный склад"},0},
{2,2,7,
{"D",20150502185438},
{"S","00-00000062"},
{"S","Х-9000 Атлант Холодильный комбинат"},
{"S","Х-9000"},
{"N",4},
{"S","ПриходныйОрдерНаТовары"},
{"S","Центральный склад"},0},
{2,3,7,
{"D",20150502185438},
{"S","00-00000062"},
{"S","С-90 Самсунг Завод бытовой техники"},
{"S","С-90"},
{"N",9},
{"S","ПриходныйОрдерНаТовары"},
{"S","Центральный склад"},0},

и т.д.
1 AnisaL
 
17.02.18
22:14
Вот описание столбцов, собрала чтоб удобнее было смотреть

{0,"ДатаДокумента",{"Pattern",{"D"},{"L"}},"ДатаДокумента",19},
{1,"НомерДокумента",{"Pattern",{"S",11,1},{"L"}},"НомерДокумента",11},
{2,"НоменклатураНаименование",{"Pattern",{"S",100,1},{"L"}},"НоменклатураНаименование",100},
{3,"НоменклатураАртикул",{"Pattern",{"S",50,1},{"L"}},"НоменклатураАртикул",50},
{4,"Количество",{"Pattern",{"L"},{"N",15,3,0}},"Количество",15},
{5,"ТипДокумента",{"Pattern",{"S",30,1},{"L"}},"ТипДокумента",30},
{6,"СкладНаименование",{"Pattern",{"S",50,1},{"L"}},"СкладНаименование",50}},
2 mikecool
 
17.02.18
22:15
грузи его в рс, читай из него
3 AnisaL
 
17.02.18
22:17
(2) а как загрузить? у меня в этом то и вопрос, как это правильно сделать
4 mikecool
 
17.02.18
22:18
(3) читать текст, устанавливать реквизиты, записывать
5 AnisaL
 
17.02.18
22:21
(4) а читать как, прям посимвольно, или как? это если честно я не пойму
6 mikecool
 
17.02.18
22:24
(5) да пес его знает ))
7 AnisaL
 
17.02.18
22:25
(4) т.е. например, как перейти к первой строке, она начинается с
{2,0,7,
{"D",20150502185438},
{"S","00-00000062"},
{"S","Х-67891 Стинол Завод бытовой техники"}, и т.д. Как мне сразу к ней перейти?
8 mikecool
 
17.02.18
22:27
(7) может в тему будут регулярные выражения, но я в них не силен
9 mikecool
 
17.02.18
22:28
а так - парсить строки, считая открывающиеся и закрывающиеся {}, как только счетчик обнулился, значит строка считана полностью
10 AnisaL
 
17.02.18
22:32
(9) ага, так можно определить когда закончилась строчка и начинается следующая, я вот просто не пойму, как пропустить в начале определение реквизитов, и сразу перейти к строке самой, которую надо загрузить
11 AnisaL
 
17.02.18
22:42
(8) да, видимо регулярные выражения используются в файле, вот я правда тоже в них не сильна
12 Cyberhawk
 
17.02.18
23:06
Формат похож на результат метода ЗначениеВСтрокуВнутр
13 AnisaL
 
17.02.18
23:09
Вот кстати в конце файла:

{2,173,7,
{"D",20150526113026},
{"S","ТД00-000051"},
{"S","Кондиционер ELEKTA"},
{"S","К-9881"},
{"N",2},
{"S","РеализацияТоваровУслуг"},
{"S","Торговый зал"},0}
},6,173},
{0,0}
}
}
14 Джексон
 
17.02.18
23:55
acf6192e-81ca-46ef-93a6-5a6968b78663 это уид типа таблицы значений.
Сделайте значение из строки внутр и пихайте ее куда хотите
15 Fram
 
18.02.18
01:45
(12) +1 и расширение .tzn тоже на это намекает. вопрос только есть ли эти объекты и данные в загружаемой базе. не похоже, что все данные это примитивные типы
16 Chameleon1980
 
18.02.18
05:25
полная строка большая?
можешь тут ее показать?
17 Mihail Shesternev
 
18.02.18
08:36
Используйте

Т = ЗначениеИзФайла(<ИмяФайла>); // Загружает значение из файла

Далее Т передайте как параметр для СКД
и уже в скд делайте с ней что хотите
18 SleepyHead
 
гуру
18.02.18
09:28
(0) Кто допустил эту даму работать программистом?
19 Джексон
 
18.02.18
09:35
(18) Ревнуешь?
20 SleepyHead
 
гуру
18.02.18
09:36
(19) Не ты ревнуешь, вот и бесишься!
21 AnisaL
 
18.02.18
09:40
Ребят, не ссорьтесь, я просто попросила помощи, спасибо большое всем ответившим!, пока правда не реализовала. Отпишусь чуть позже
22 AnisaL
 
18.02.18
09:46
(17) спасибо, попробую так сделать
23 nordbox
 
18.02.18
10:10
Судя по содержанию файла это вообще выгрузили накладную в файл
24 nordbox
 
18.02.18
10:11
+23 файл обмена кого то с кем то
Где то я подобное видел
25 nordbox
 
18.02.18
10:14
Я бы вообще распарсил его что бы в окно сообщений сначала вывел на что это похоже, а потом в СКД грузил, только зачем он там? Это документ
26 Джексон
 
18.02.18
10:21
(25) Это таблица значений с полями простых типов. Внутри - номер, дата, вид документ, наименование и артикул товара.
27 nordbox
 
18.02.18
10:25
а так же склад и судя по последнему куску так еще и цена
28 nordbox
 
18.02.18
10:25
или сумма
29 nordbox
 
18.02.18
10:25
Не, это не цена и не сумма а порядковый номер блока
30 Джексон
 
18.02.18
11:29
(29) см (1)