В 1С есть обработка которая подключается к firebird, вытагивает прайс и импортирует в csv. Экспорт проходит нормально, но с одной позицией проблема. При экспорте режит эту позицию пополом и получается не коректное отображение.
Вот код обработки
Функция ПолучитьНоменклатуру()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| PRAJS_LIST.KOD_USLUGI.KOD_PODGRUPPY_USLUGI.KOD_GRUPPY_USLUG.KOD_GRUPPY_USLUG КАК ВнутреннийКодГруппыУслуг,
| PRAJS_LIST.KOD_USLUGI.KOD_PODGRUPPY_USLUGI.KOD_GRUPPY_USLUG.NAZVANIYE_GRUPPY_USLUG КАК НазваниеГруппыУслуг,
| PRAJS_LIST.KOD_USLUGI.KOD_PODGRUPPY_USLUGI.KOD_PODGRUPPY_USLUG КАК ВнутреннийКодПодгруппыУслуг,
| PRAJS_LIST.KOD_USLUGI.KOD_PODGRUPPY_USLUGI.NAZVANIYE_PODGRUPPY_USLUG КАК НазваниеПодгруппыУслуг,
| PRAJS_LIST.KOD_USLUGI КАК ВнутреннийКодУслуги,
| PRAJS_LIST.KOD_USLUGI.NAZVANIYE_USLUGI КАК НазваниеУслуги,
| PRAJS_LIST.KASSOVYJ_KOD КАК КассовыйКодУслуги,
| PRAJS_LIST.CYENA КАК ЦенаУслуги
|ИЗ
| ВнешнийИсточникДанных.MEDUCHET.Таблица.PRAJS_LIST КАК PRAJS_LIST
|ГДЕ
| PRAJS_LIST.KASSOVYJ_KOD > 0
| И PRAJS_LIST.CYENA > 0
| И PRAJS_LIST.PRINTING = -1
| И PRAJS_LIST.DYEJSTVITYELNYJ = -1
|
|УПОРЯДОЧИТЬ ПО
| ВнутреннийКодГруппыУслуг";
Результат = Запрос.Выполнить();
ТаблицаЗначений = Результат.Выгрузить();
возврат ТаблицаЗначений;
КонецФункции //
Функция СоздатьЗаголовкиCSV(ТаблицаЗначений,разделитель)
разделитель = ";";
колонкиТЗ=ТаблицаЗначений.колонки;
Для каждого колонка Из колонкиТЗ Цикл
стрКолонки = "" + стрКолонки + колонка.Имя + разделитель;
КонецЦикла;
Возврат стрКолонки;
КонецФункции
Функция ЧислоВСтроку(Ч)
Возврат СтрЗаменить(Строка(Ч),Символы.НПП,"");
КонецФункции
Функция СоздатьДанныеCSV(ТаблицаЗначений,разделитель)
строка = СтрЗаменить(строка, Символы.НПП, "");
текст="";
для каждого запись из ТаблицаЗначений Цикл
если текст="" тогда
текст=СоздатьЗаголовкиCSV(ТаблицаЗначений,разделитель)
+ Символы.ПС;
КонецЕсли;
сообщить(запись.НазваниеУслуги);
текст = текст + ЧислоВСтроку(запись.ВнутреннийКодГруппыУслуг)
+ разделитель + запись.НазваниеГруппыУслуг
+ разделитель + ЧислоВСтроку(запись.ВнутреннийКодПодгруппыУслуг)
+ разделитель + запись.НазваниеПодгруппыУслуг
+ разделитель + ЧислоВСтроку(запись.ВнутреннийКодУслуги)
+ разделитель + запись.НазваниеУслуги
+ разделитель + ЧислоВСтроку(запись.КассовыйКодУслуги)
+ разделитель + ЧислоВСтроку(запись.ЦенаУслуги)
+ Символы.ПС;
КонецЦикла;
//сообщить(текст);
Возврат текст;
КонецФункции //
Функция ЗаписатьCSV(текст,имяФайла)
кодировка = КодировкаТекста.UTF8;
ТекстовыйФайлЗапись = Новый ЗаписьТекста(имяФайла,Кодировка);
ТекстовыйФайлЗапись.ЗаписатьСтроку(текст);
ТекстовыйФайлЗапись.Закрыть();
Возврат 0;
КонецФункции //
// Основная логика:
Функция ВыгрузитьВCSV(имяФайлаCSV);
разделитель = ";";
ТаблицаЗначений = ПолучитьНоменклатуру();
текст = СоздатьДанныеCSV(ТаблицаЗначений,разделитель);
ЗаписатьCSV(текст,имяФайлаCSV);
КонецФункции
Должно быть в одну строку, а делает пополам
В источнике никаких символов кроме пробела нет, подскажите пожалуйста в чем может быть проблема?