Имя: Пароль:
1C
 
Как проще всего ТаблицуЗначений выгрузить в текстовый файл с разделителями
0 Вася Теркин
 
03.05.18
08:44
Типа у кого получится лучше всех. В экселе есть такая стандартная функция.
Разделитель - точка с запятой. Выгружать колонки по стандартному представлению 1С в той же последовательности.
Могут быть любые данные.
1 Вася Теркин
 
03.05.18
08:45
Процедура ВыгрузитьВТекстовыйФайлСРазделителями(Таблица)
....
....
КонецПроцедуры
2 ShAV
 
03.05.18
08:48
(1) ахах +100
3 mehfk
 
03.05.18
08:50
(0) Как говорят математики: "Приведем задачу к задаче, решение которой нам известно...".
4 Вася Теркин
 
03.05.18
09:10
Есть шанс попасть в книгу знаний...
5 hhhh
 
03.05.18
09:24
(4) уже всё придумано до нас:

ЗначениеВСтрокуXML(ТЗ)

есть в любой типовой, пользуйся.
6 Вася Теркин
 
03.05.18
10:44
(5) ??? Теплое от мягкого не отличаешь? Где там текст с разделителями?
7 Boleev
 
03.05.18
10:46
Сохранить в Excel, а из него уже csv
8 1Сергей
 
03.05.18
10:48
Можно в ТабДок, а там просто
9 1Сергей
 
03.05.18
10:50
хотя, в табдок не просто
10 Вася Теркин
 
03.05.18
10:52
Двоешники. Вот ответ.


    ТекстДок = Новый ТекстовыйДокумент;
    ТекстДок.ДобавитьСтроку(лев(строка(НачПериода),10)+";"+лев(строка(КонПериода),10));
    Для каждого Стр из ТаблицаЗагрузки Цикл
        Строка = "%%%№";
        Для а  = 0 по ТаблицаЗагрузки.Количество() - 1 Цикл
            Строка =Строка + ";" + Стр[а];
        КонецЦикла;
        Строка = СтрЗаменить(Строка,"%%%№;","");
        ТекстДок.ДобавитьСтроку(Строка);
    КонецЦикла;
    
ТекстДок.Записать(ПутьКФайлу);
11 Вася Теркин
 
03.05.18
10:53
Втроая строка лишняя
12 1Сергей
 
03.05.18
10:54
(10) имена колонок не выгрузил
13 Вася Теркин
 
03.05.18
10:54
Не нужны
14 Вася Теркин
 
03.05.18
10:56
Хотя может можно в этот ваш эксемель зафурычить и там СТРЗаменить... Но он агрегатные данные вытянет не по представлению, а всю структуру... Не катит.
15 Вася Теркин
 
03.05.18
10:57
Почему запрос в ТЗ выгрузить можно, а в файл с разделителями нельзя? Это не правильно.
16 lEvGl
 
гуру
03.05.18
10:57
(10) ппц какое уникальное решение
17 1Сергей
 
03.05.18
10:57
(15) можно в файл, но не csv
18 Вася Теркин
 
03.05.18
11:00
(16) Уникальное ищется...
19 Sammo
 
03.05.18
11:00
(10) Как минимум через записьтекста
20 lEvGl
 
гуру
03.05.18
11:01
я бы сказал, что гонять туда сюда файлы - не задача, а попытка реализации чего то. это что то и надо решать, почему через файл, в век веб сервисов и прочего, кому сейчас нужны файлы?
21 Boleev
 
03.05.18
11:01
(10) вот смешно будет, если название будет содержать разделитель
22 Вася Теркин
 
03.05.18
11:02
(20) Есть кому.. И достаточно дорого.
23 Вася Теркин
 
03.05.18
11:02
(21) Да, будем заново переделывать за отдельные деньги.
24 1Сергей
 
03.05.18
11:03
(18) Зачем уникальное?
25 lEvGl
 
гуру
03.05.18
11:04
грузи данные напрямую и добавь ценник за универсальность за счет того что мороки с выгрузкой загрузкой файла не будет
26 Boleev
 
03.05.18
11:04
(24) чтобы можно было продать за дорого и за отдельные деньги (уникальный прайс) тебе же написали уже.
27 Вася Теркин
 
03.05.18
11:05
(25) А на второй стороне программистов уволят? Их там целый отдел...
28 Вася Теркин
 
03.05.18
11:05
(24) От скуки.
(26) Не правильный ответ...
29 lEvGl
 
гуру
03.05.18
11:05
(27) от того твой ценник только растет
30 lEvGl
 
гуру
03.05.18
11:06
обмен то между какими системами?
31 lEvGl
 
гуру
03.05.18
11:06
ну что одна - 1с я понял, а приемник?
32 Мимохожий Однако
 
03.05.18
11:10
"Эх,Вася, Вася..."
33 Вася Теркин
 
03.05.18
11:10
(31) Целый отдел приемник пишет. С незапамятных годов...
34 Вася Теркин
 
03.05.18
11:11
(32) Ну чо, всех несовременных под нож? Сразу чуть чего ЕРП расчихлять и мочить всех?
35 hhhh
 
03.05.18
11:14
(34) ну выгрузка в csv тоже есть в типовой, если что. Непонятно что ты паришься? пишешь одну строчку вызовы функции общего модуля, получаешь бабло.
36 Вася Теркин
 
03.05.18
11:15
Это где такая?
37 lEvGl
 
гуру
03.05.18
11:16
(35) да он уже свою написал в (10) какая разница. просто если кодом выгружать - это одно, проблем то, но ищется же универсальное решение, xml я так понял потому и был призван
38 lEvGl
 
гуру
03.05.18
11:17
(33) оч. серьезная система видимо, на файликах, ага
39 Вася Теркин
 
03.05.18
11:32
(38) Почти файловая...
40 Вася Теркин
 
03.05.18
11:33
(37) Нет. Та система хмл не приемлет, раньше родилась.
41 lEvGl
 
гуру
03.05.18
11:39
ну озвучь, может тут кто то с ней работал, поможет простое решение найти
42 Вася Теркин
 
03.05.18
11:49
Ну да...
43 Вася Теркин
 
03.05.18
11:49
простое решение в 10
44 lEvGl
 
гуру
03.05.18
11:52
(32)
45 lEvGl
 
гуру
03.05.18
11:52
:)
46 d4rkmesa
 
03.05.18
12:37
(0)
ПострПечать = Новый ПостроительОтчета;
ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаТоваров);
ПострПечать.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Интерфейс);    
ПострПечать.Выполнить();
Для каждого Колонка Из ПострПечать.ВыбранныеПоля Цикл
    Колонка.Представление = ТаблицаТоваров.Колонки[Колонка.Имя].Заголовок;
КонецЦикла;
ПострПечать.Вывести(ДокументРезультат);

ДокументРезультат.Записать(ПолноеИмяФайла, ПараметрыФормата.ТипФайла);

//заменяем разделитель с символа табуляции на ;
ВременныйФайл = Новый ЧтениеТекста(ПолноеИмяФайла);                        
ПолноеИмяФайлаЗаписьCSV = ПолучитьИмяВременногоФайла(".csv");                        
ЗаписьCSV = Новый ЗаписьТекста(ПолноеИмяФайлаЗаписьCSV, КодировкаТекста.ANSI);
ТекРазделитель = Символы.Таб;
ТекСтр = ВременныйФайл.ПрочитатьСтроку();
Пока ТекСтр <> Неопределено Цикл    
    СписокЯчеекСтроки = ИзСтрокиСРазделителями(ТекСтр, ТекРазделитель, Ложь);
    
    ЗаписьCSV.ЗаписатьСтроку(ВСтрокуСРазделителями(СписокЯчеекСтроки, ";", Истина));
    ТекСтр = ВременныйФайл.ПрочитатьСтроку();                            
КонецЦикла;
ВременныйФайл.Закрыть();
ЗаписьCSV.Закрыть();
47 Вася Теркин
 
03.05.18
13:58
(46) оТЛИЧНО
48 Вася Теркин
 
03.05.18
13:58
В смысле наоборот...