helpf.pro
Регистрация

v8.2 УП: Строку в число

akamuza
14.03.2013 21:20Прочитано: 13746
Как в СКД можно строку перевести в число?
Нужно код номенклатуры вида "00000021" вывести в отчете как 21, чтобы не было лишних нулей.

Пробовал в макете указывать ячейку как число, ставить на неё формат - не помогает.

Можете помочь в этом вопросе?
Yandex
Возможно, вас также заинтересует
Реклама на портале
akamuza
14.03.2013 21:49Ответ № 1
Решил вопрос так:
В СКД в поле представления можно использовать функции общих модулей.
Создал функцию для формирования нужного мне вида и вызываю её из поля представления.
Чувствуется падение производительности, но не критично.

Но все же любопытно, есть ли иные варианты?
DJ_Serega
14.03.2013 22:58Ответ № 2
В наборе данных (на первой закладке) есть форматирование. Там есть формат. В нем уже указываешь без лидирующих нулей.

Если что смогу скрины выложить. но это потом, а то с телефона сижу *01
akamuza
15.03.2013 00:10Ответ № 3
Нет, не получается так. Формат работает для числа, а код является строкой.
Поэтому формат его не изменяет никак - нули остаются.
E_Migachev
15.03.2013 00:28Ответ № 4
(3) akamuza, а если в запросе через оператор Выразить?
Округление в запросе, использование ВЫРАЗИТЬ
akamuza
15.03.2013 01:57Ответ № 5
Оператор выразить не приводит строку к числу - выдает ошибку.
Выразить используется только для чисел, чтобы указать их формат, типа 15,2 и т.д.
Собственно у вас в примерах так и есть.

А вот если задать Номенклатура.Код, как аргумент, то ошибка выскакивает.

Уже из спортивного интереса хочется разобраться)
mixa4
15.03.2013 15:15Ответ № 6
Код 1C v 8.2 УП
 
ВЫБОР
КОГДА (Контрагенты.Код = "00000001") ТОГДА 1
КОГДА (Контрагенты.Код = "00000002") ТОГДА 2
...
КОГДА (Контрагенты.Код = "99999999") ТОГДА 99999999
ИНАЧЕ "неправильный код"
КОНЕЦ КАК ПолныйПипец

а если серьезно, то куда годится такой отчет, который перестанет работать если коды с буквами пойдут, что сплошь и рядом?
DJ_Serega
16.03.2013 03:40Ответ № 7
(6) mixa4, если буквы (а это в большинстве) случаев, тогда это вообще не вариант ) я думал формат поможет. Странномчто не помог )
akamuza
20.03.2013 23:59Ответ № 8
Еще раз повторюсь, решение такое:

В СКД в поле представления можно использовать функции общих модулей.
Создал функцию для формирования нужного мне вида и вызываю её из поля представления.
Чувствуется падение производительности, но не критично.


Иначе, судя по всему, никак
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.