|
|
|
|
#1 |
|
Участник
|
Полный список Вам и не нужен. Вам нужна проверка на 3 возможных спец.символа.
- Перевод строки (\n) - Возврат каретки (\r) - Табуляция (\t) При вставке через буфер обмена они имеют следующий смысл Перевод строки (\n) - перейти на следующую строку Excel Табуляция (\t) - перейти на следующий столбец Excel Возврат каретки (\r) - в теории, перейти на следующую строку внутри одной ячейки. Но на практике - реузультат малопредсказуемый. Соответственно, необходимо сделать замену этих символов на пробел. Примерно так X++: static void Job_Test(Args _args) { str strValue = "1\n2\r3\t4"; ; print strValue; // Замена спец.символов на пробелы strValue = global::strReplace(strValue,"\n"," "); strValue = global::strReplace(strValue,"\r"," "); strValue = global::strReplace(strValue,"\t"," "); print strValue; pause; } Наиболее вероятно, наличие символа перевода строки, если текст проводки формируется вручную и этот текст отображается в несколько строк. Просто случайно нажали на Enter при вводе.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
| За это сообщение автора поблагодарили: JuniorAx (1). | |
|
|
#2 |
|
Moderator
|
Цитата:
Сообщение от Владимир Максимов
При вставке через буфер обмена они имеют следующий смысл
Перевод строки (\n) - перейти на следующую строку Excel Табуляция (\t) - перейти на следующий столбец Excel Возврат каретки (\r) - в теории, перейти на следующую строку внутри одной ячейки. Но на практике - реузультат малопредсказуемый. Соответственно, необходимо сделать замену этих символов на пробел. |
|
|
|
|
#3 |
|
Участник
|
Речь идет о "плохих символах" в одном конкретном поле. В данном случае, в тексте проводки. Вот содержимое этого поля и надо проверить перед тем, как вставить его в буфер обмена.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
| За это сообщение автора поблагодарили: Gustav (1). | |
|
|
#4 |
|
Участник
|
Спасибо вам большое! Использовал вариант Владимира Максимова.
Возникло несколько вопросов: Где можно посмотреть информацию по классу Global, т.к. я не увидел используемую функцию в System Documentation, а в классе очень много функций!? И по поводу варианта с мокросом - у меня он не сработал, видимо из-за 3 версии Аксапты!? |
|
|
|
|
#5 |
|
Участник
|
to Gustav: Сначала select'ом выбираем нужные записи из таблицы, затем удаляем лишние символы и вставляем обработанный текст в поле временной таблицы, затем буфер заполняется из этой временной таблицы. Сейчас всё работает и перевода строки в Excel не происходит.
|
|
|
|
| За это сообщение автора поблагодарили: Gustav (1). | |
|
|
#6 |
|
Участник
|
Цитата:
System Documetation - это документация по объектам ядра системы, которые невозможно модифицировать через AOT. Класс Global относится к "Application Documentaion". Фактически, это "пользовательский" класс, который может быть изменен в любой момент. Поэтому по нему и нет документации. Можно сказать, что класс Global - это набор "своих" функций, которые "расширяют" набор стандартных функций Axapta. Цитата:
Впрочем, можно удалить плохие символы через strRem(), но это имеет смысл только в случае, если плохие символы всегда находятся в конце содержимого поля, а не в середине. Сравните. X++: static void Job_Test(Args _args) { #define.BadSymbols("\n\r\t") str strValue = "1\n2\r3\t4"; ; print strValue; print "strRem = " + strRem(strValue,#BadSymbols); // Замена strValue = strReplace(strValue,"\n"," "); strValue = strReplace(strValue,"\r"," "); strValue = strReplace(strValue,"\t"," "); print "strReplace = " + strValue; pause; }
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
|
#7 |
|
Участник
|
Спасибо! Я хотел бы определить такой макрос у нас в системе, могли бы вы со мной поделиться, если это не трудно?
Просто хочу попробовать вариант S.Kuskov с оставлением только корректных символов, потому что с переводм строки скрытыми символами, я решил задачу. Но в некоторых проводках есть еще какие-то символы которые не дают переводить каретку в следующей столбец Excel => значения из двух соседних столбцов выводятся в одной ячейке. И т.к. они появляются разные и в разных местах, не хотелось бы каждую строку отчета проверять на каждый спецсимвол! |
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|