|
Кодировка для переноса текстового файла из 1С8.2 в 1С7.7 | ☑ | ||
---|---|---|---|---|
0
olmi
06.04.14
✎
18:53
|
Простите, уже писала об этом, какая-то ошибка в оформлении поста, не авторизуюсь, повторяю.
Проблема: Создан текстовой документ в базе 8.2. ФайлВыгрузки=НашФайл; ТекДок=Новый ТекстовыйДокумент; Стр="Всякости"; ТекДок.ДобавитьСтроку(Стр); ТекДок.Записать(ФайлВыгрузки,"cp866"); Записывается, в TotalCommander читается как досовский файл, нормально. В 7.7 пытаюсь прочитать: ИмпортТекст=СоздатьОбъект("Текст"); ИмпортТекст.КодоваяСтраница(1); ИмпортТекст.Открыть(ФайлИмпорта); КолСтрок=ИмпортТекст.КоличествоСтрок();//КолСтрок>0 ИмпортСтрока=СокрЛП(ИмпортТекст.ПолучитьСтроку(1)); В ИмпортСтрока абракадабра. Пробовала другие кодировки, в том числе Windows1251, KOI8R, Записывала через ТекДок.Записать(ФайлВыгрузки,КодировкаТекста.OEM); и ТекДок.Записать(ФайлВыгрузки,КодировкаТекста.ANSI); меняла кодовую страницу на 0 для WINDOWS-кодировок - бесполезно. В Интернете пока ничего не нашла. Перебирать все кодировки, возможные в 8.2, очень долго. Буду благодарна за совет. |
|||
1
Wobland
06.04.14
✎
18:55
|
совет раз: без фото не взлетит;
совет два: какую кодировку есть семёрочный Текст? |
|||
2
Wobland
06.04.14
✎
18:55
|
(1) *ест
|
|||
3
olmi
06.04.14
✎
18:57
|
+(0) Антифлуд: задача - не плод моего больного воображения. Есть торговая база в 8.2, а бухгалтерия, куда надо выгружать инфу, еще 7.7., переводим только в конце года.
(1) Я написала про кодировку в 7.7 все, что знаю. В 7.7 надо ПРОЧИТАТЬ файл, созданный в 8.2. |
|||
4
Wobland
06.04.14
✎
18:58
|
возьми КД ваще
|
|||
5
olmi
06.04.14
✎
18:59
|
(4) Мимо. Надо сделать именно то, что я прошу.
|
|||
6
Wobland
06.04.14
✎
18:59
|
(4) или она в обратную сторону не работает?
(3) придётся узнать больше |
|||
7
olmi
06.04.14
✎
19:01
|
Я просила обойтись без флуда. Задача срочная. Можешь-помоги, не можешь-отдохни в другом посте, пожалуйста!
|
|||
8
Wobland
06.04.14
✎
19:02
|
я бы попросил мне не указывать
|
|||
9
olmi
06.04.14
✎
19:02
|
(6)Попробую в обратную сторону, это совет толковый.
|
|||
10
olmi
06.04.14
✎
19:03
|
(8) Я не указываю, просто не могу решить задачу, очень нужна помощь. Прошу прощения, если задела.
|
|||
11
spectre1978
06.04.14
✎
19:06
|
(0) кодировка для текста у семерки по умолчанию - 1251. 866 не в кассу.
|
|||
12
olmi
06.04.14
✎
19:16
|
(11) Я писала в (0), что пробовала записывать через Windows1251 и читать через КодоваяСтраница(0). Не получилось, кажется. Еще раз попробую. Или речь о другом варианте?
|
|||
13
Wobland
06.04.14
✎
19:19
|
в (0) несколько по-другому читается. а правда, что СП есть во всех платформах?
|
|||
14
Torquader
06.04.14
✎
19:21
|
Начнём с того, что 1С 7.7 умеет читать только Windows-1251.
Так что - читать что-то записанное не так не получится. P.S. у меня как-то проблем с текстовыми файлами никогда не возникало - поставьте что-ли Far - он позволяет кодировку на лету менять и писать один файл сразу в нескольких кодировках. |
|||
15
spectre1978
06.04.14
✎
19:22
|
ТекДок.Записать(ФайлВыгрузки, "windows-1251") - так делалось?
Если все будет записано верно, то в семерочной части не нужно будет никаких телодвижений с кодировкой вообще |
|||
16
Torquader
06.04.14
✎
19:24
|
(15) А может быть вообще через Новый ЗаписьТекста делать ?
|
|||
17
spectre1978
06.04.14
✎
19:32
|
(16) кстати, да. Если нужно только писать то так проще
|
|||
18
Torquader
06.04.14
✎
19:33
|
(17) Да и память всю под файл не займёшь.
|
|||
19
olmi
06.04.14
✎
19:40
|
(14) - (18). Да, писала
ТекДок.Записать(ФайлВыгрузки, "windows-1251"); А при загрузке ИмпортТекст.КодоваяСтраница(0); Попробую ее вообще закомментить. А (16) я еще не умею, в 8-ке только начинаю, работала в 7.7 раньше. Посмотрю, как это делать, и что на выходе, спасибо!) |
|||
20
olmi
06.04.14
✎
19:46
|
(19) Не помогло. Посмотрю про Новый ЗаписьТекста.
Главное дело, в Total Commander читает нормально как ANSI(локальная кодовая страница (0). А как поиграть с кодами в FAR Manager? Я с ним мало знакома, привыкла к Нортону. |
|||
21
Strogg
06.04.14
✎
19:54
|
я для такого переноса как-то нарочно ставил фар и отображал ннпечатаемые символы. У меня первым символом шла ерунда. Убирал первый символ через Симв() по-моему
|
|||
22
Torquader
06.04.14
✎
19:56
|
(20) Пробуй.
И потом, не забывай, что и переводы строки должны быть правильными. |
|||
23
Torquader
06.04.14
✎
19:58
|
(19) Как говорят здесь люди - продам СП дорого:
ЗаписьТекста (TextWriter) ЗаписьТекста (TextWriter) Методы: Закрыть (Close) Записать (Write) ЗаписатьСтроку (WriteLine) Открыть (Open) Конструкторы: По имени файла Формирование неинициализированного объекта Описание: Предназначен для последовательной записи в текстовые файлы. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Пример: Текст = Новый ЗаписьТекста("d:\win.txt", КодировкаТекста.ANSI); Текст.ЗаписатьСтроку("Добро пожаловать!"); Текст.ЗаписатьСтроку("Посторонним вход воспрещен."); Текст.Закрыть(); См. также: ЧтениеТекста ЗаписьТекста, конструктор По имени файла |
|||
24
Torquader
06.04.14
✎
19:59
|
А в 1С, когда читаем, наверное, кодировка текста должна устанавливаться до метода Открыть.
|
|||
25
_fvadim
06.04.14
✎
20:05
|
(21) такая борода бывает с utf (bom пишется)
чтоб не разбираться так это или нет можно первую строку делать пустой и при загрузке пропускать. (0) что за абракадабра? этой штукой расшифровывается http://www.artlebedev.ru/tools/decoder/ ? |
|||
26
Torquader
06.04.14
✎
20:07
|
(25) Чтобы не наступать на грабли с UTF-ом, нужно создавать пустой файл, а потом его уже ДОПИСЫВАТЬ.
|
|||
27
olmi
06.04.14
✎
20:11
|
(21)-(26) Ребята, вы умницы!) Спасибо огромное!) Во-первых, перешла на ЗаписьТекста). Во-вторых, обнаружила еще и у себя ошибку попутно, так что по WINDOWS-1251, наверно, тоже прочлось бы).
Спасибо всем огромное!) Чтоб у вас все всегда получалось, дорогие!!!) |
|||
28
olmi
06.04.14
✎
20:12
|
И все, написанное позже, конечно, пригодится!) За все спасибо!!!)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |