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