Имя: Пароль:
1C
1C 7.7
v7: Обмен документами. Текстовый файл.
0 bizon2008
 
19.09.11
12:28
Добрый день. Есть договоренность поставщиком по обмен документами в электроном в виде. Это чтоб значить их здесь не вбивать. Тип текстовый файл тип csv. Форма любой, их прог сказа что ему пофик как у него пасер все сам разберет и сам соберет.
Есть какой то формат? А то я плохо представляю, как табличную часть туда выгрузить.
1 Ork
 
19.09.11
12:29
(0) CSV уже перестал быть форматом?
2 1Сергей
 
19.09.11
12:30
ЦСВ = СоздатьОбъект("Текст");

CSV - текстовый файл, в котором поля разделены символом точка с запятой
3 Ork
 
19.09.11
12:30
+(1) Есть еще старый добрый *.ini. Там вообще все просто.
4 bizon2008
 
19.09.11
12:31
(1)Ну типа формат расположения реквизитов. Сейчас получил файл в котором количество строк рано сумме все строк в табличных частях документов. Первая часть строки шапка, вторая табличная часть - текущая строка.
5 Ork
 
19.09.11
12:34
(4) Рисуй как в ини-файлах :
[ИмяСекции]
ИмяПараметра=ЗначениеПараметра

так будет проще разбор и отладка.

Например :
[ЗаголовокДокумента]
ДатаДок=...
НомерДок=...
[ТабличнаяЧасть1]
...
6 1Сергей
 
19.09.11
12:35
(5) причем тут ини?
(4) от нас чего хочешь?
7 Ork
 
19.09.11
12:38
(6) CSV - аналог DBF. Позволяет хранить табличную информацию. Когда структура записи одна на весь файл.

ini - предок XML. Позволяет хранить иерархическую информацию.
8 1Сергей
 
19.09.11
12:42
(7) из сумбурного набора символов в (0) я понял, что ему нужен именно csv
9 Ork
 
19.09.11
12:43
(8) Я так понял, что он и сам пока не знает что ему нужно. )))
10 ЧеловекДуши
 
19.09.11
12:45
Если пофих, то пиши любой произвольный формат ;)
Ведь сам разберет :D
11 ЧеловекДуши
 
19.09.11
12:47
>>> А то я плохо представляю, как табличную часть туда выгрузить.

Проще всего с таблицей, пиши просто построчно.
Можешь перед табличной частью ставить системную команду, что хоть не быть до предела наглым :)
12 bizon2008
 
19.09.11
12:50
Ага. Не знаю. Сейчас получаю файл в котором строка состоит из двух частей. Первая это шапка, вторя часть это строка табличной части. И как мне с ним работать?
13 1Сергей
 
19.09.11
12:50
(12) тебе загрузить или выгрузить?
14 Ёпрст
 
гуру
19.09.11
12:51
(13) ему процитировать СП в части работы со строками и текстовым файлом.
15 Armando
 
19.09.11
12:54
XML не предлагать?
16 ЧеловекДуши
 
19.09.11
12:54
(12)тут ты всех сейчас запутал...
Если ты грузишь, то ты попал.
Надо было бы нормально продумать формат обмена ;)

Если выгружаешь, что пиши, как знаешь ;)
17 ЧеловекДуши
 
19.09.11
12:54
(15)В 7-ке с ним не все гладко.
18 bizon2008
 
19.09.11
12:55
(13)И туды и сюды.
19 bizon2008
 
19.09.11
12:56
(16)Я же говорю им пофик. Главное написать где какой реквизит.
20 Ёпрст
 
гуру
19.09.11
12:57
(18) import/export.ert c диска ИТС и не ипи мозг.
21 bizon2008
 
19.09.11
12:58
(14)Не надо. Я умею.
22 Ork
 
19.09.11
13:00
(19) Придумай сам формат файлов обмена таким, что б ты же его и разобрал. Если "той стороне" пофиг.
23 ЧеловекДуши
 
19.09.11
13:03
(19)Пиши построчно и все, т.е.
1. строка - это название реквизита или системная команда,
2. строка это содержимое реквизита в текстовом варианте.
...
И все, а они пускай у тебя консультируются, что да к чему ;)
24 ЧеловекДуши
 
19.09.11
13:04
(20)слишком просто + он тогда потянет вообще всю структуру справочников, а у них поди базы разные.
28 andrewks
 
19.09.11
13:53
(7)
"ini - предок XML. Позволяет хранить иерархическую информацию."
с таким же успехом предком xml можно назвать и csv
29 Эльниньо
 
19.09.11
13:55
Я бы не с этого начал.
30 Serginio1
 
19.09.11
14:04
Можешь первым элеентом делать тип записи
Например
1- Документ
0 Строка табличной части
В CSV это выглядит так
1,Накладная,НомерНакладной1
0,..ДанныеСтроки
0,..ДанныеСтроки
0,..ДанныеСтроки
1,Накладная,НомерНакладной2
0,..ДанныеСтроки
0,..ДанныеСтроки
0,..ДанныеСтроки

Встретив 1 отрабатываем данные документа,
затем под 0 идет многострочная часть. По сравнению с MXL менен многословна (правда нужно отделять возврат каретки и перенс строки в сторокых данных)
31 МастерВопросов
 
19.09.11
15:55
(24) тогда просто выгрузитьвстрокусразделителями :-) и пусть прог на той стороне разбирается
32 bizon2008
 
19.09.11
16:30
(30)Согласен. Тоже сейчас к такому варианту пришел.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн