AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.02.2007, 14:43   #1  
oxbacc is offline
oxbacc
Участник
 
35 / 10 (1) +
Регистрация: 31.01.2006
Запятая в коде номенклатуры
В картотеке номенклатуры необходимо завести номенклатуры в коде у которых стоит запятая. Заводим без проблем. При выборе этой номенклатуры выпадает ошибка что такой не существует.
Старый 14.02.2007, 14:48   #2  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
621 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
Служебные символы, которые используются в языке запросов (как в коде, так и по фильтру через "воронку") недопустимы к использованию в ключевых полях, по которым планируется поиск, джойны и фильтры.
Точнее, система позволяет там хоть * вбивать, только потом проблемы будут - все на сознательность пользователей (можете мод сделать с проверкой).

Никакой производственной необходимости в "," в коде номенклатуры нет, для этого есть описание, которое и печатается в накладных - это уже прихоть.
Замените его на пробел или подчеркивание.
Старый 14.02.2007, 14:59   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
все зависит от того, будет ли использоваться в коде ТОЛЬКО queryValue() или будет использоваться и без него.
Если первое, то тогда можно лепить. Хотя я бы не советовал.
Если же второе, то будут глюки - у нас, к примеру, были (* пользователи лепили)
В системе есть отчеты, в которых про queryValue забыли, поэтому будут глюки.
Старый 14.02.2007, 16:39   #4  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
См.также Пропадают строки накладной поставщика
Старый 15.02.2007, 09:53   #5  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,295 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Кроме служебных символов, используемых в запросах, не стоит использовать также символы тегов в HTML, типа < или &. В интернет портале может такое появиться...
__________________
Михаил Андреев
https://www.amand.ru
За это сообщение автора поблагодарили: mazzy (5).
Старый 15.02.2007, 09:57   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от BOAL Посмотреть сообщение
Служебные символы, которые используются в языке запросов (как в коде, так и по фильтру через "воронку") недопустимы к использованию в ключевых полях, по которым планируется поиск, джойны и фильтры.
Не так малешко.
Символы допустимы. Но в запросе их постоянно надо экранировать бэкслешем \

Цитата:
Сообщение от kashperuk Посмотреть сообщение
queryValue()
Ага. Вот этот метод и экранирует.
Беда только в том, что даже стандартный код Аксапты (особенно русский) частенько забывает об этом методе.

Цитата:
Сообщение от Михаил Андреев Посмотреть сообщение
Кроме служебных символов, используемых в запросах, не стоит использовать также символы тегов в HTML, типа < или &. В интернет портале может такое появиться...
Опаньки. А это похоже никак не лечится.
Спасибо.
__________________
полезное на axForum, github, vk, coub.
Старый 15.02.2007, 16:34   #7  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,295 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Цитата:
Сообщение от mazzy Посмотреть сообщение
Опаньки. А это похоже никак не лечится.
Спасибо.
Проблема была в 2.5. В 3.0 не проверял. В 4.0, вроде, работало. Так что, как-то чинится.
__________________
Михаил Андреев
https://www.amand.ru
Старый 15.02.2007, 17:20   #8  
oxbacc is offline
oxbacc
Участник
 
35 / 10 (1) +
Регистрация: 31.01.2006
Подведем итог.
категорически не использовать: "<" "&" " \" ","
можно использовать: "." "/"

Дополнения?
Старый 15.02.2007, 17:26   #9  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от oxbacc Посмотреть сообщение
Дополнения?
Не использовать:
Цитата:
? Вопросительный знак Один любой символ
* Звездочка Несколько любых символов
, Запятая Разделяет несколько критериев (и)
! Восклицательный знак Отрицание (не)
.. Две подряд идущие точки Разделяет начало и конец диапазона
< Знак меньше Меньше чем
> Знак больше Больше чем
" Кавычки Ограничивает строку
\ Обратный слэш Экранирует следующий символ
В общем, вот эти символы:
http://axapta.mazzy.ru/lib/search/
Старый 25.04.2007, 11:56   #10  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Тут у нас пользователи пожаловались, что когда они выделяют строки грида и копипастят в эксель, то иногда "не все" строки копируются. После небольшого исследования выяснилось, что если какое-то поле в строке начинается на символ " (двойная кавычка) и в этом поле эта кавычка не закрывается, то в данную ячейку при копировании в эксель будут попадать все поля, пока не встретится еще одна кавычка ("закрывающая").

Отсюда вывод: если допускаете возможность того, что данные какой-то таблицы будут копипаститься в эксель, то не следует никакое поле в ней начинать с кавычки. А если начинаете, то будте добры еще и закрывающую кавычку ставить.

PS Да, конечно, можно и это обойти (с помощью промежуточного текстового файла, например). Или наверняка в настройках самого экселя что-то подправить, просто совсем уж глубоко я не копался.

PPS Excel 2000
За это сообщение автора поблагодарили: Gustav (6).
Старый 25.04.2007, 15:24   #11  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от oip Посмотреть сообщение
А если начинаете, то будте добры еще и закрывающую кавычку ставить.
Ну! Я слышу топот - это наши пользователи побежали нас слушаться!
Надо не столько запрет, сколько какое-то лекарство им на подобный случай предложить, которым при необходимости они могли бы воспользоваться самостоятельно.
Цитата:
Сообщение от oip Посмотреть сообщение
PS Да, конечно, можно и это обойти (с помощью промежуточного текстового файла, например).
Именно так и надо. Если уж случилась подобная неприятность, которую надо быстро побороть, то следует:
1. Скопировать данные из грида еще раз уже не в Excel, а в Блокнот. Получившийся текстовый файл сохранить.
2. В Excel открыть его "как текст" с разделителем "символ табуляции".
3. На том же шаге мастера импорта, где задается разделитель, установить ограничитель строк (text qualifier) равным пустой строке (а не кавычкам - никаким!, как стоит по умолчанию).
Цитата:
Сообщение от oip Посмотреть сообщение
Или наверняка в настройках самого экселя что-то подправить, просто совсем уж глубоко я не копался.
К сожаление, не нашёл, где бы можно было заранее установить этот TextQualifier равным пустой строке, чтобы его влияние распространялось бы, скажем, и на копипаст тоже. В справке метода OpenText сказано, что "The default value is xlTextQualifierDoubleQuote." В реестре тоже ничего подобного не нашёл. Лезущая далее в голову предварительная установка формата ячеек, в которые будет производиться вставка, например, в "Текст" желаемого эффекта тоже не производит... Может быть, кто-то окажется более удачным в изысканиях?
За это сообщение автора поблагодарили: oip (4).
Старый 25.04.2007, 15:36   #12  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от Gustav Посмотреть сообщение
Ну! Я слышу топот - это наши пользователи побежали нас слушаться!


Цитата:
Сообщение от Gustav Посмотреть сообщение
Надо не столько запрет, сколько какое-то лекарство им на подобный случай предложить, которым при необходимости они могли бы воспользоваться самостоятельно.
Среднестатистический пользователь способен на нижеприведенный способ?! Покажите мне таких.

ИМХО запрет гораздо эффективнее. Все равно никакой способ со страшными словами типа "text qualifier" им не подойдет. Просто потому, что не подойдет.

Цитата:
Сообщение от Gustav Посмотреть сообщение
Именно так и надо. Если уж случилась подобная неприятность, которую надо быстро побороть, то следует:
1. Скопировать данные из грида еще раз уже не в Excel, а в Блокнот. Получившийся текстовый файл сохранить.
2. В Excel открыть его "как текст" с разделителем "символ табуляции".
3. На том же шаге мастера импорта, где задается разделитель, установить ограничитель строк (text qualifier) равным пустой строке (а не кавычкам - никаким!, как стоит по умолчанию).
Да-да, именно это я и имел в виду.

Цитата:
Сообщение от Gustav Посмотреть сообщение
К сожаление, не нашёл, где бы можно было заранее установить этот TextQualifier равным пустой строке, чтобы его влияние распространялось бы, скажем, и на копипаст тоже. В справке метода OpenText сказано, что "The default value is xlTextQualifierDoubleQuote." В реестре тоже ничего подобного не нашёл. Лезущая далее в голову предварительная установка формата ячеек, в которые будет производиться вставка, например, в "Текст" желаемого эффекта тоже не производит... Может быть, кто-то окажется более удачным в изысканиях?
Жаль, но все равно спасибо за попытку найти.
Старый 25.04.2007, 17:33   #13  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от oip Посмотреть сообщение
Среднестатистический пользователь способен на нижеприведенный способ?! Покажите мне таких.

ИМХО запрет гораздо эффективнее. Все равно никакой способ со страшными словами типа "text qualifier" им не подойдет. Просто потому, что не подойдет.

Жаль, но все равно спасибо за попытку найти.
Олег, да ну не надо в пессимизм-то впадать. Наши пользователи - лучшие в мире! Какие другие варианты могут быть? Взнуздывать программирование на тему проверки наличия небалансирующих двойных кавычек в буфере обмена после копирования в гриде? Ну, можно, конечно, попробовать... А запомнить эти 3 простых шага в Excel - уж гораздо проще, чем выучить тот же перечень проблемных символов выше. А плюс к этим 3 шагам еще и рекомендация по возможности следить самостоятельно за второй кавычкой в поле. Вот и все успешно перекрыто: и пилюля есть на случай "болезни", и профилактика, чтобы до "болезни" не доводить.
Старый 25.04.2007, 17:38   #14  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
На что спорим, что этим способом будет все равно не пользователь данные копипастить, а сотрудник IT отдела, например? Ситуация-то редкая, ну раз в несколько месяцев возникать может, ну никак не чаще. Да пользователь помнить-то ничего к этому времени уже не будет, даже если очень захочет (хотя и в это я не верю).

Цитата:
Сообщение от Gustav Посмотреть сообщение
А запомнить эти 3 простых шага в Excel
Простые? Думаешь? Может у нас в Москве пользователи другие? Или мы не умеем их готовить?

Может у вас пользователи еще и руководство, написанное для них, читают?!
Старый 28.04.2007, 12:19   #15  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от oip Посмотреть сообщение
Может у вас пользователи еще и руководство, написанное для них, читают?!
А куда они денутся с подводной лодки? Потому что "а если не будут... - отключим газ!"
Иногда читают-читают и, что еще невероятнее, иногда даже благодарят за прочитанное.

Однако, сейчас не об этом. По ходу дела тут пришлось поковыряться с OWC Spreadsheet (10 и 11) на форме Аксапты. Заодно и с кавычками поэкспериментировал. Так вот в него, в отличие от Excel, подобные проблемные данные с хаотичными двойными кавычками влетают как надо без каких-либо предварительных настроек. И даже далее по кнопке сливаются в Excel тоже уже как надо.

Spreadsheet обнаружил другую проблему, уже не связанную с кавычками - он съедает ведущие нули в текстовых строках, состоящих из цифр. Никакое предварительное форматирование ячеек как текст не спасает (опять же в в отличие от Excel). Он, конечно, располагает данные как текст и это видно по левому выравниванию. Но он, собака такая, перед помещением в ячейку сначала пытается распознать в тексте число и ему это удается. Спасение есть только одно - ведущий апостроф в ячейке. Но его, увы, не засунуть в копипастный буфер, снимаемый с грида.

В общем, полного счастья нет нигде.
Старый 30.05.2007, 18:15   #16  
Ed1k is offline
Ed1k
Участник
 
102 / 42 (2) +++
Регистрация: 19.07.2006
Цитата:
Сообщение от Gustav Посмотреть сообщение
Spreadsheet обнаружил другую проблему, уже не связанную с кавычками - он съедает ведущие нули в текстовых строках, состоящих из цифр.
Отчасти помогает такой финт http://www.microsoft.com/technet/scr...6/hey0223.mspx
Теги
ax3.0, ax4.0, excel, spreadsheet, баг, кодировка, номенклатура, спецсимвол

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Планирование номенклатуры с типом Основное средство AlexeyBP DAX: Функционал 19 29.01.2009 07:42
Не могу изменить название номенклатуры slava09 DAX: Функционал 14 21.03.2007 18:01
Как при выборе (Таблица, Группа или Все) происходит выбор номенклатуры или группы??? Hans DAX: Программирование 1 12.05.2006 13:43
Конфигуратор продуции - создание новой номенклатуры против создания новой конфигураци OliaM DAX: Функционал 6 15.04.2005 20:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:37.