Имя: Пароль:
1C
1С v8
работа со списком значений в 8.2
,
0 Tumakota
 
14.02.13
06:34
Всем доброго времени суток! Возник вопрос, создал список значений, а теперь хочу этот список значений сохранить в текстовом файле с разделителями! Я просто знаю в 7.7 есть процедура ВСтрокуСРазделителями()! А в в 8 есть что то подобное, как сохранить список значений в текстовый с разделителями?
1 Паланик
 
14.02.13
06:51
Может подойдет это?

Глобальный контекст (Global context)
ЗначениеВФайл (ValueToFile)
Синтаксис:

ЗначениеВФайл(<ИмяФайла>, <Значение>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла. Не может быть пустым. Если включает путь к существующему каталогу, то значение будет сохранено в файле, созданном или найденном в этом каталоге, в противном случае будет использован каталог исполняемых файлов программы.
<Значение> (обязательный)

Тип: Произвольный.
Сохраняемое значение.
Возвращаемое значение:

Тип: Булево.
Истина - сохранение значения выполнено; Ложь - в противном случае.
Описание:

Сохраняет любое сериализуемое значение в файл.
2 Tumakota
 
14.02.13
06:58
"2000132016","5-НОК 0.05 № 50 таблетки","уп.","Lek, Словения","","01.05.17","2","106.8",""

к примеру строка, которая должна получиться в текстовом файле
В список заношу все  данные, как мне на выходе получить такую строку, в 7 процедура ВСтрокСРазделителями(), сама ее формирует а таком формате вроде бы, точно утверждать не буду
3 Живой Ископаемый
 
14.02.13
07:02
никак.
а зачем?
4 Tumakota
 
14.02.13
07:03
(3) Ну для загрузки во внешнюю программу, надо получить такой формат файла
5 Морозов Александр
 
14.02.13
07:05
Пиши сам... делов то
6 Паланик
 
14.02.13
07:06
(4) Написал бы уже давно свю функцию в пару, тройку строк.
7 kosts
 
14.02.13
07:08
Если у тебя список товаров, то легче работать не со списком, а сразу с таблицей значений.
Лично я в 8.2 список использовал всего наверное пару раз...
Либо ТЗ, либо Соответствие со Структурой.
8 Tumakota
 
14.02.13
07:10
(7) Не ну у меня вообще то таблица значений есть заполненная мне надо данные из нее сохранить в такой формате строки в текстовом файле
9 Живой Ископаемый
 
14.02.13
07:13
В другие программы выгружают в хмл.
10 Tumakota
 
14.02.13
07:14
(9) Ну я что могу поделать если надо именно текстовый формат и именной такой, не берет если она xml
11 kosts
 
14.02.13
07:14
(8) Тем более не нужно использовать список.
Вот что то в этом роде

Для каждого т Из ТЗ Цикл
   с = "";
   Для Каждого Кол из ТЗ.Колонки Цикл
       с = с + т[Кол.Имя] + Символы.Таб;
   КонецЦикла;
   Сообщить(с);
КонецЦикла;


(9) По ситуации, иногда то, иногда сё
12 Паланик
 
14.02.13
07:17
Функция ВСтрокуСРазделителями(Список)

 Для Каждого Строка Из Список Цилк
    ИтоговаяСтрока = ИтоговаяСтрока + Строка.Значение + ", ";      
 КонецЦикла;
 
 Возврат ИтоговаяСтрока;

КонецФункции
13 Tumakota
 
14.02.13
07:41
(12 )00ђ®-000058,4206031183,P-1537960,07.02.2013,14524,53,1265,64,1893,47, - Вот какой получился результат, а чтобы запятые в ковычках были, я  и без данной функции мог такую строку вывести в текстовый файл
14 kosts
 
14.02.13
07:44
(13) Это запятые разве в кавычках?
15 Tumakota
 
14.02.13
07:46
(14) ну или значения в ковычках должны быть, надо такой формат который в (2), а то что в (12) выводит я и без это функции тоже самое выводил
16 Паланик
 
14.02.13
07:52
Ну дак добавь ковычки, в чем проблема? Я просто пример привел.
17 Tumakota
 
14.02.13
07:57
Все всем спасибо полазил по форуму нашел похожу функцию

Функция _пскВСтрокуСРазделителем(СписокЗначений,Разделитель) Экспорт
   Строка = "";
   РазмерСписка = СписокЗначений.Количество();
   Сч = 0;
   Для каждого ЭлементСписка Из СписокЗначений Цикл
       Сч = Сч+1;
       Значение = СтрЗаменить(ЭлементСписка.Значение,",",".");
       Если ТипЗнч(Значение) = Тип("Строка") Тогда
           ПодготовленноеЗначение = """"+СтрЗаменить(СокрЛП(Значение),"""","""""")+"""";
       ИначеЕсли ТипЗнч(Значение) = Тип("Число") Тогда
           ПодготовленноеЗначение = Формат(Значение,"ЧРД='.'");
       Иначе
           ПодготовленноеЗначение = """"+Строка(Значение)+"""";
       КонецЕсли;
       Строка = Строка + ПодготовленноеЗначение + ?(Сч = РазмерСписка,"",Разделитель);
   КонецЦикла;
   Возврат Строка;
КонецФункции
18 Паланик
 
14.02.13
07:57
Функция ВСтрокуСРазделителями(Список)
 ИтоговаяСтрока = """";
 Для Каждого Строка Из Список Цилк
    ИтоговаяСтрока = ИтоговаяСтрока + Строка.Значение + """, """;      
 КонецЦикла;
 
 Возврат ИтоговаяСтрока;

КонецФункции
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс