Имя: Пароль:
1C
1C 7.7
v7: Добавить строку. Добавляет строку с переносом.
, ,
0 kostya_77
 
25.01.18
10:21
Добавляет строку с разделением на три строки. Хотя должно добавлять в одну строку.

Строка клиенты стрКлиенты = "15;Имя;Адрес"

    _текстКлиенты=СоздатьОбъект("Текст");

    _текстКлиенты.КодоваяСтраница(0);
    
    _текстКлиенты.ДобавитьСтроку(_стрКлиенты);
    
    Состояние("Идет запись 3");
    _текстКлиенты.Записать(мПутьВыгрузки+"clients.csv");
1 kostya_77
 
25.01.18
10:22
В строке _стрКлиенты не одна запись. Все записывает нормально, кроме одной
2 1Сергей
 
25.01.18
10:23
Что-то недоговариваешь
3 1Сергей
 
25.01.18
10:24
(1) Что же в стрКлиенты?
4 kostya_77
 
25.01.18
10:25
я же привет пример
5 kostya_77
 
25.01.18
10:26
стрКлиенты = "15;Имя;Адрес"
6 1Сергей
 
25.01.18
10:26
Для Идн = 1 по СтрЧислоСтрок(_стрКлиенты) Цикл
    _текстКлиенты.ДобавитьСтроку(СтрПолучитьСтроку(_стрКлиенты,Идн));
КонецЦикла;


под рукой семерки нет, пишу по памяти
7 1Сергей
 
25.01.18
10:26
(5) и не добавляет?
8 kostya_77
 
25.01.18
10:27
попробую
9 АЛьФ
 
25.01.18
10:28
2(5) именно с таким значением переменной код из (0) дает три строки в файле?
10 MWWRuza
 
гуру
25.01.18
10:55
Там в какой-то части строки "непечатаемый" символ перевода строки содержится. Где Вы берете "Имя", "Адрес" - ? Из какого-то справочника? Проверьте заполнение его полей на предмет "кривых" строк, с символом перевода строки внутри. Или просто удалите и перепишите вручную заново. Я когда-то писал обработку, которая в справочнике "Номенклатура" "Наименование" проверяла и исправляла. Не грузился товар в АРМ кассира из-за нарушения структуры файла выгрузки, строчка рвалась посередине и переносилась на новую. Но, сейчас не найду - делал у кого-то из клиентов и давно...
11 MWWRuza
 
гуру
25.01.18
11:15
Той универсальной обработки не нашел, но, вот нечто похожее:

Процедура Сформировать()
    Спр = СоздатьОбъект("Справочник.Единицы");
    Спр.ВыбратьЭлементы(0);
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
        ДопустСимволы = "0123456789 qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
        Сч = 0;
        Штрихкод = Спр.Штрихкод;
        Для Сч = 1 По 13 Цикл
            ИскСимв = Сред(Штрихкод,Сч,1);
            Если Найти(ДопустСимволы,ИскСимв) = 0 Тогда
                Сообщить("Недопустимый символ """ + " " + ИскСимв +  " " + """ в штрихкоде у товара: " + Спр.Владелец);    
            КонецЕсли;
        КонецЦикла;    
    КонецЦикла;
КонецПроцедуры


Проверяет ШтрихКод в справочнике, и выводит в каком ошибка.
Вам надо нечто подобное для своих справочников сделать.
12 MWWRuza
 
гуру
25.01.18
11:18
Вот эту строку из цикла вынесите, перед циклом поставьте:
ДопустСимволы = "0123456789 qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";