Имя: Пароль:
1C
1С v8
Магия с форматом .csv
,
0 Bodrug
 
04.02.14
18:11
Такая ситуация: есть файл .csv. Он формируется из банковской программы и содержит данные по платежам. В файле есть колонка с суммами платежей и в одной из платежек по иронии судьбы есть сумма 21.04. Файл эту сумму распознает как дату. Если через Excell открыть файл и поменять в ячейке формат на числовой, то сумма пересчитывается и получается 41750,00. Кто-то знает, как можно поставить там значение 21.04 именно с точкой в качестве разделителя?
1 Fram
 
04.02.14
18:17
(0) Открывай как произвольный текстовый файл. Должен вылезти мастер в котором можно задать тип.
2 KUBIK
 
04.02.14
18:18
Открой из блокнота как текст
3 Fram
 
04.02.14
18:18
(0) или это для чтения программно из 1С? тогда не надо excel использовать. парси как текстовый
4 Wobland
 
04.02.14
18:20
это с каких пор цсв приобрёл дар распознавания?
5 shuhard
 
04.02.14
18:22
(0)[Файл эту сумму распознает как дату]
это мощно
6 bolobol
 
04.02.14
18:26
И таких без в Экселе предостаточно. Привыкай)
7 bolobol
 
04.02.14
18:26
И таких *бед в Экселе предостаточно. Привыкай)
8 Bodrug
 
04.02.14
18:33
Я вот отладчик прошелся по прочтению строк файла и получается есть значение 21.04, которое распознается как 21.04.2014. Можно преобразовать это 21.04.2014 обратно в число 21.04?
9 Wobland
 
04.02.14
18:33
(8) выбрось свой распознаватель и читай это дело как текст
10 Bodrug
 
04.02.14
19:50
(9) У меня клиент-банк весь завязан под ексель
11 zladenuw
 
04.02.14
19:52
(10) то как ты читаешь ?
12 Tateossian
 
04.02.14
19:59
(0) Ну попробуй в параметрах Экселя указать разделитель разрядов ".".
13 DS
 
04.02.14
20:04
Можно попробовать в екселе поменять дефолтовый шаблон.
14 Fram
 
04.02.14
20:16
(10) опять подмена понятий? csv <> excel
15 Torquader
 
04.02.14
23:55
Читай нормально.
Файл=Новый ЧтениеТекста(Путь)
стр=Файл.ПрочитатьСтроку()
ну и дели на части - там всё просто, конечно 1С не VbScript, там символ в строке с указанной позиции штатно искать нельзя, но, если очень хочется, можно написать свои функции чтения и послать Excel туда, где ей место.
16 Serginio1
 
05.02.14
00:07
17 big
 
05.02.14
06:45
(15)
+
Стр = Сред(Стр,2,СтрДлина(Стр)-2);
Стр = СтрЗаменить(Стр,""",""",Символы.ВК);
Данные1 = СтрПолучитьСтроку(Стр,1);
Данные2 = СтрПолучитьСтроку(Стр,2);
Данные3 = СтрПолучитьСтроку(Стр,3);
Данные4 = СтрПолучитьСтроку(Стр,4);
18 Рэйв
 
05.02.14
06:46
(0)ЧтоНадо=Число(Строка(Значение));