14.02.2007, 14:43 | #1 |
Участник
|
Запятая в коде номенклатуры
В картотеке номенклатуры необходимо завести номенклатуры в коде у которых стоит запятая. Заводим без проблем. При выборе этой номенклатуры выпадает ошибка что такой не существует.
|
|
14.02.2007, 14:48 | #2 |
Участник
|
Служебные символы, которые используются в языке запросов (как в коде, так и по фильтру через "воронку") недопустимы к использованию в ключевых полях, по которым планируется поиск, джойны и фильтры.
Точнее, система позволяет там хоть * вбивать, только потом проблемы будут - все на сознательность пользователей (можете мод сделать с проверкой). Никакой производственной необходимости в "," в коде номенклатуры нет, для этого есть описание, которое и печатается в накладных - это уже прихоть. Замените его на пробел или подчеркивание. |
|
14.02.2007, 14:59 | #3 |
Участник
|
все зависит от того, будет ли использоваться в коде ТОЛЬКО queryValue() или будет использоваться и без него.
Если первое, то тогда можно лепить. Хотя я бы не советовал. Если же второе, то будут глюки - у нас, к примеру, были (* пользователи лепили) В системе есть отчеты, в которых про queryValue забыли, поэтому будут глюки. |
|
14.02.2007, 16:39 | #4 |
Участник
|
|
|
15.02.2007, 09:53 | #5 |
Участник
|
Кроме служебных символов, используемых в запросах, не стоит использовать также символы тегов в HTML, типа < или &. В интернет портале может такое появиться...
|
|
|
За это сообщение автора поблагодарили: mazzy (5). |
15.02.2007, 09:57 | #6 |
Участник
|
Цитата:
Символы допустимы. Но в запросе их постоянно надо экранировать бэкслешем \ Ага. Вот этот метод и экранирует. Беда только в том, что даже стандартный код Аксапты (особенно русский) частенько забывает об этом методе. Цитата:
Спасибо. |
|
15.02.2007, 16:34 | #7 |
Участник
|
Проблема была в 2.5. В 3.0 не проверял. В 4.0, вроде, работало. Так что, как-то чинится.
|
|
15.02.2007, 17:20 | #8 |
Участник
|
Подведем итог.
категорически не использовать: "<" "&" " \" "," можно использовать: "." "/" Дополнения? |
|
15.02.2007, 17:26 | #9 |
Axapta
|
Не использовать:
Цитата:
? Вопросительный знак Один любой символ
* Звездочка Несколько любых символов , Запятая Разделяет несколько критериев (и) ! Восклицательный знак Отрицание (не) .. Две подряд идущие точки Разделяет начало и конец диапазона < Знак меньше Меньше чем > Знак больше Больше чем " Кавычки Ограничивает строку \ Обратный слэш Экранирует следующий символ http://axapta.mazzy.ru/lib/search/ |
|
25.04.2007, 11:56 | #10 |
Axapta
|
Тут у нас пользователи пожаловались, что когда они выделяют строки грида и копипастят в эксель, то иногда "не все" строки копируются. После небольшого исследования выяснилось, что если какое-то поле в строке начинается на символ " (двойная кавычка) и в этом поле эта кавычка не закрывается, то в данную ячейку при копировании в эксель будут попадать все поля, пока не встретится еще одна кавычка ("закрывающая").
Отсюда вывод: если допускаете возможность того, что данные какой-то таблицы будут копипаститься в эксель, то не следует никакое поле в ней начинать с кавычки. А если начинаете, то будте добры еще и закрывающую кавычку ставить. PS Да, конечно, можно и это обойти (с помощью промежуточного текстового файла, например). Или наверняка в настройках самого экселя что-то подправить, просто совсем уж глубоко я не копался. PPS Excel 2000 |
|
|
За это сообщение автора поблагодарили: Gustav (6). |
25.04.2007, 15:24 | #11 |
Moderator
|
Ну! Я слышу топот - это наши пользователи побежали нас слушаться!
Надо не столько запрет, сколько какое-то лекарство им на подобный случай предложить, которым при необходимости они могли бы воспользоваться самостоятельно. Цитата:
1. Скопировать данные из грида еще раз уже не в Excel, а в Блокнот. Получившийся текстовый файл сохранить. 2. В Excel открыть его "как текст" с разделителем "символ табуляции". 3. На том же шаге мастера импорта, где задается разделитель, установить ограничитель строк (text qualifier) равным пустой строке (а не кавычкам - никаким!, как стоит по умолчанию). К сожаление, не нашёл, где бы можно было заранее установить этот TextQualifier равным пустой строке, чтобы его влияние распространялось бы, скажем, и на копипаст тоже. В справке метода OpenText сказано, что "The default value is xlTextQualifierDoubleQuote." В реестре тоже ничего подобного не нашёл. Лезущая далее в голову предварительная установка формата ячеек, в которые будет производиться вставка, например, в "Текст" желаемого эффекта тоже не производит... Может быть, кто-то окажется более удачным в изысканиях? |
|
|
За это сообщение автора поблагодарили: oip (4). |
25.04.2007, 15:36 | #12 |
Axapta
|
Цитата:
ИМХО запрет гораздо эффективнее. Все равно никакой способ со страшными словами типа "text qualifier" им не подойдет. Просто потому, что не подойдет. Цитата:
Сообщение от Gustav
Именно так и надо. Если уж случилась подобная неприятность, которую надо быстро побороть, то следует:
1. Скопировать данные из грида еще раз уже не в Excel, а в Блокнот. Получившийся текстовый файл сохранить. 2. В Excel открыть его "как текст" с разделителем "символ табуляции". 3. На том же шаге мастера импорта, где задается разделитель, установить ограничитель строк (text qualifier) равным пустой строке (а не кавычкам - никаким!, как стоит по умолчанию). Цитата:
Сообщение от Gustav
К сожаление, не нашёл, где бы можно было заранее установить этот TextQualifier равным пустой строке, чтобы его влияние распространялось бы, скажем, и на копипаст тоже. В справке метода OpenText сказано, что "The default value is xlTextQualifierDoubleQuote." В реестре тоже ничего подобного не нашёл. Лезущая далее в голову предварительная установка формата ячеек, в которые будет производиться вставка, например, в "Текст" желаемого эффекта тоже не производит... Может быть, кто-то окажется более удачным в изысканиях?
|
|
25.04.2007, 17:33 | #13 |
Moderator
|
Цитата:
Сообщение от oip
Среднестатистический пользователь способен на нижеприведенный способ?! Покажите мне таких.
ИМХО запрет гораздо эффективнее. Все равно никакой способ со страшными словами типа "text qualifier" им не подойдет. Просто потому, что не подойдет. Жаль, но все равно спасибо за попытку найти. |
|
25.04.2007, 17:38 | #14 |
Axapta
|
На что спорим, что этим способом будет все равно не пользователь данные копипастить, а сотрудник IT отдела, например? Ситуация-то редкая, ну раз в несколько месяцев возникать может, ну никак не чаще. Да пользователь помнить-то ничего к этому времени уже не будет, даже если очень захочет (хотя и в это я не верю).
Простые? Думаешь? Может у нас в Москве пользователи другие? Или мы не умеем их готовить? Может у вас пользователи еще и руководство, написанное для них, читают?! |
|
28.04.2007, 12:19 | #15 |
Moderator
|
А куда они денутся с подводной лодки? Потому что "а если не будут... - отключим газ!"
Иногда читают-читают и, что еще невероятнее, иногда даже благодарят за прочитанное. Однако, сейчас не об этом. По ходу дела тут пришлось поковыряться с OWC Spreadsheet (10 и 11) на форме Аксапты. Заодно и с кавычками поэкспериментировал. Так вот в него, в отличие от Excel, подобные проблемные данные с хаотичными двойными кавычками влетают как надо без каких-либо предварительных настроек. И даже далее по кнопке сливаются в Excel тоже уже как надо. Spreadsheet обнаружил другую проблему, уже не связанную с кавычками - он съедает ведущие нули в текстовых строках, состоящих из цифр. Никакое предварительное форматирование ячеек как текст не спасает (опять же в в отличие от Excel). Он, конечно, располагает данные как текст и это видно по левому выравниванию. Но он, собака такая, перед помещением в ячейку сначала пытается распознать в тексте число и ему это удается. Спасение есть только одно - ведущий апостроф в ячейке. Но его, увы, не засунуть в копипастный буфер, снимаемый с грида. В общем, полного счастья нет нигде. |
|
30.05.2007, 18:15 | #16 |
Участник
|
Цитата:
|
|
Теги |
ax3.0, ax4.0, excel, spreadsheet, баг, кодировка, номенклатура, спецсимвол |
|
|