|
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";
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший