1С:Підприємство 8.2 (8.2.13.219)
"Бухгалтерія для України", редакція 1.2.
Розробка конфігурації: "ABBYY Ukraine", 2005-2011 (1.2.3.5)
Читаем DBF и записываем в текстовый файл.
Не получается настроить корректную кодировку текстовых полей в TXT файле, которые импортируются из DBF.
Как настроить кодировку чтения DBF?
Вот в каком виде выводится информация в TXTфайл:
**********************
ПлательщикСчет=20681097000659
Плательщик=‚I‹…Љ‘,’‡Ћ‚
ПлательщикБанк=I-”ђ.”.ЏЂ’ ЉЃ"Џђ?‚Ђ’ЃЂЌЉ",Њ.I-”ђЂЌЉI‚.
**********************
ПутьDBF = "C:\jbkl_rec.dbf";
ПутьTXT = "C:\CB_to_1C.txt";
Текст = Новый ТекстовыйДокумент;
БД = Новый XBase;
//БД.Кодировка="ANSI";
БД.ОткрытьФайл(ПутьDBF,,);
Текст.ДобавитьСтроку("_1CClientBankExchange");
Текст.ДобавитьСтроку("ВерсияФормата=1.00");
Текст.ДобавитьСтроку("Кодировка=Windows");
Текст.ДобавитьСтроку("Отправитель=Система 'Клієнт-Банк'");
Текст.ДобавитьСтроку("Получатель=Бухгалтерия для Украины (базова), редакция 1.2");
//Текст.ДобавитьСтроку("СекцияРасчСчет");
Текст.ДобавитьСтроку("ДатаНачала=2011-10-01");
Текст.ДобавитьСтроку("ДатаКонца=2011-10-20");
Текст.ДобавитьСтроку("РасчСчет=26001356326024");
Текст.ДобавитьСтроку("КодВалюты=980");
Текст.ДобавитьСтроку("НачальныйОстаток=0");
Пока БД.Следующая() Цикл
Текст.ДобавитьСтроку("СекцияДокумент=Платежное поручение");
Текст.ДобавитьСтроку("ВидДокумента=Платежное поручение");
Текст.ДобавитьСтроку("Номер="+БД.N_D);
Текст.ДобавитьСтроку("Дата="+БД.DATE);
// Текст.ДобавитьСтроку("ДокументИД="+БД.REF);
Текст.ДобавитьСтроку("Сумма="+БД.SUMMA);
Текст.ДобавитьСтроку("КодВалюты=980");
Текст.ДобавитьСтроку("ПлательщикСчет="+БД.COUNT_A);
Текст.ДобавитьСтроку("Плательщик="+БД.NAME_A);
Текст.ДобавитьСтроку("ПлательщикБанк="+БД.BANK_A);
Текст.ДобавитьСтроку("ПлательщикМФО="+БД.MFO_A);
Текст.ДобавитьСтроку("ПлательщикОКПО="+БД.OKPO_A);
Текст.ДобавитьСтроку("ПолучательСчет="+БД.COUNT_B);
Текст.ДобавитьСтроку("Получатель="+БД.NAME_B);
Текст.ДобавитьСтроку("ПолучательБанк="+БД.BANK_B);
Текст.ДобавитьСтроку("ПолучательМФО="+БД.MFO_B);
Текст.ДобавитьСтроку("ПолучательОКПО="+БД.OKPO_B);
Текст.ДобавитьСтроку("НазначениеПлатежа="+БД.N_P);
Текст.ДобавитьСтроку("КонецДокумента");
КонецЦикла;
Текст.ДобавитьСтроку("КонецФайла");
Текст.Записать(ПутьTXT);
БД.ЗакрытьФайл();
КодировкаXBase (XBaseEncoding)
Значения
ANSI (ANSI)
OEM (OEM)
Описание:
Содержит варианты кодировок XBase.
Доступность:
Сервер, толстый клиент, внешнее соединение. Возможен обмен с сервером.
См. также:
XBase, свойство Кодировка
Пример:
B = Новый XBase;
B.Поля.Добавить("CODE","S",11);
B.Поля.Добавить("NAME","S",100);
B.Поля.Добавить("ED","S",100);
B.Кодировка = КодировкаXBase.OEM;
B = Новый XBase;
B.Поля.Добавить("CODE","S",11);
B.Поля.Добавить("NAME","S",100);
B.Поля.Добавить("ED","S",100);
B.Кодировка = КодировкаXBase.OEM;
чето не понятно, а что такое в конфигураторе комбинация клавиш Ctrl+F1 знаем?
Самостоятельно курим тему:
Встроенные функции языка (Script functions)
Строка (String)
Синтаксис:
Строка(<Значение>)
Параметры:
<Значение> (обязательный)
Тип: Произвольный.
Исходное значение.
Возвращаемое значение:
Тип: Строка.
Полученное значение.
Описание:
Преобразует полученный параметр в значение типа Строка.
При преобразовании к строке числа формируется его полное представление в стандартном виде, соответствующем национальным установкам.
Преобразование значений типа Булево зависит от национальных установок и содержит строковое представление этих значений.
При преобразовании к строке даты формируется ее полное представление в стандартном читабельном виде, соответствующем национальным установкам.
Преобразование к строке значений остальных типов производится по мере возможности и обычно содержит читабельное представление значения.
Пример:
Строка(Формат(текущаядата(),"ДФ=dd-MM-yyyy"))
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua