|
8.3.10 ВЫРАЗИТЬ(… КАК СТРОКА(…)), | ☑ | ||
---|---|---|---|---|
0
daringer
02.08.17
✎
08:37
|
Добрый день. В платформе 8.3.10 есть новая фишка:
При работе в клиент-серверном варианте, с использованием СУБД Microsoft SQL Server, в результате запроса, содержащего выражение ВЫРАЗИТЬ(… КАК СТРОКА(…)), выполняется дополнение результата операции пробелами до требуемой длины. Я так понял придется анализировать всю конфу и если где то выраженное поле результата запроса сравнивается с каким то значением или пишется в БД, то придется переделывать, например использовать функцию СокрП. У кого нибудь возникли с этим проблемы? Как решали? |
|||
1
butterbean
02.08.17
✎
08:39
|
эта фишка была еще в 8.0
|
|||
2
daringer
02.08.17
✎
08:42
|
(1) 8.0 не интересует.
|
|||
3
Андрюха
02.08.17
✎
08:43
|
Что-то не понял, честно говоря, где тут может вылезти проблема. Можно на примере?
|
|||
4
butterbean
02.08.17
✎
08:44
|
(2) это я к тому, что проверки и так уже везде должны быть
|
|||
5
Работа имитируется
02.08.17
✎
08:45
|
Впервые прочитал об этой проблеме. Очень взволнован. Что же нам делать? Может быть само рассосётся? Давайте пообсуждаем!
|
|||
6
daringer
02.08.17
✎
08:48
|
...
ВЫРАЗИТЬ(ВариантыОтчетов.Автор.Наименование КАК СТРОКА(1000)) КАК АвторПредставление, ... Если Не ЗначениеЗаполнено(Вариант.ПредставлениеАвтора.Значение) И ЗначениеЗаполнено(СтрокаТаблицы.АвторПредставление) Тогда Вариант.ПредставлениеАвтора.Значение = СтрокаТаблицы.АвторПредставление; КонецЕсли; Т.е. Вариант.ПредставлениеАвтора.Значение будет некое значение + необходимое количество пробелов |
|||
7
Работа имитируется
02.08.17
✎
08:58
|
Чем это плохо?
|
|||
8
Гипервизор
02.08.17
✎
08:59
|
(0) Какие в данный момент могут возникнуть проблемы если:
"в режиме совместимости с версией 8.3.9 поведение не изменилось"? Или у вас нетленка? |
|||
9
daringer
02.08.17
✎
09:01
|
МЫ не используем режим совместимости
|
|||
10
daringer
02.08.17
✎
09:09
|
Допустим в реквизите "МойРеквизит" справочника хранится строка "Моя строка".
В результате запроса через ВЫРАЗИТЬ получили "Моя строка " Далее в справочнике ищем значение "Моя строка " и не находим, т.к. старое значение было без пробелов. Т.о. подобные места нужно переделывать во всей конфе |
|||
11
Гипервизор
02.08.17
✎
09:14
|
(10) Ну и сколько в вашей конфе подобных мест?
|
|||
12
Buster007
02.08.17
✎
09:20
|
Ну сделай ты СокрЛП и ищи.
Кроме того, если через Подобно попробовать искать, то скорее всего и строка с пробелами найдется |
|||
13
xaozai
02.08.17
✎
09:24
|
ПОДСТРОКА, вроде, не добивает пробелами, если есть возможность использовать эту функцию вместо ВЫРАЗИТЬ...
|
|||
14
Работа имитируется
02.08.17
✎
09:25
|
(10) Очень сильно притянутый пример. Использовать запрос и тут же поиск при помощи объектной модели...
|
|||
15
1c_July
02.08.17
✎
09:56
|
а в 8.3.9 это есть?
где-то были запросы, в которых в параметр передаются строки с разнокалиберной длиной, а сравниваются с полем неограниченной длины, которое предварительно ограничивается до разумного через "выразить" и вроде работают, с проблемами из-за пробелов не сталкивались.. |
|||
16
Гипервизор
02.08.17
✎
10:08
|
(15) ---> (8)
|
|||
17
psy_sln
02.08.17
✎
10:11
|
(12) Как раз наоборот, подобно жесткое сравнение, а через равенство в конце пробелы пропускает
|
|||
18
Ненавижу 1С
гуру
02.08.17
✎
10:18
|
(10) в справочнике ищите запросом и будет счастье,или действительно ПОДСТРОКА
|
|||
19
daringer
02.08.17
✎
10:30
|
(15) в 8.3.9 этого нет
|
|||
20
1c_July
02.08.17
✎
12:01
|
(19) блин, если потребуется перейти - тоже будет проблема
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |