как в СКД преобразовать строку к числу в вычисляемом поле или выражении? #690425


#0 by Cerera
В отчете, написанном с использованием СКД, на выходе запроса, есть поле "Вес" типа строка. и есть поле "Количество" типа число. Мне нужно создать вычисляемое поле Количество * Вес Как мне это реализовать, чтоб преобразование типов сработало верно? Если просто в вычисляемом поле пишу Вес*Количество, то ругается при формировании отчета: {Документ.АнализПродажПоОбъему.Форма.ФормаДокументаОсновная.Форма}: Ошибка при вызове метода контекста (Следующий)             ЭлементРезультата=ПроцессорКомпоновкиДанных.Следующий; по причине: Ошибка компоновки данных по причине: Ошибка получения данных по причине: Ошибка в выражении по причине:
#1 by Cerera
А вот если пишу в вычисляемом поле просто "Вес", то выводится.
#2 by Fragster
а почему у тебя вес - строка?
#4 by Cerera
некорректно была спроектирована база. и Значение "Вес" хранилось в справочнике "ЗначенияСвойствОбъектов" в наименовании. А пока временное решение - брать эту строку и преобразовывать к числу.
#5 by Fragster
минут за 10 можно переделать на число...
#6 by Cerera
можно, но в программе есть функции, которые уже заточены под извлечение числа из наименования. А сразу переделать все места я не смогу.
#7 by Cerera
или вы имели ввиду, что в самой СКД это настраивается? Должно ведь в СКД быть преобразование типов, я читал, на форумах упоминания, что это можно сделать.
#8 by Cerera
оппа. пришлось мне как вызов функции реализовать это.
#9 by badboychik
написать свою функцию в глобальном модуле и разрешить в СКД пользовательские функции
#10 by Fragster
ты только что убил котенка
#11 by Cerera
я не понял ничего.
#12 by Fragster
#13 by Fragster
#14 by DexterMorgan
Нафига в глобальном?
#15 by Fragster
#16 by Cerera
теперь понял вашу фразу. но вы мне не сказали что существует иной вариант в СКД и никто не сказал. Значит его нет скорее всего.
#17 by Fragster
правильный вариант - в
#18 by DexterMorgan
Дай я угадаю -  функции, которые уже заточены под извлечение числа из наименования - это ?
#19 by Cerera
да какое это имеет отношение к вопросу?
#20 by Cerera
этот ответ не решает проблему. мне важно знать как сделать преобразование строки в число в СКД.
#21 by Maxus43
этот ответ устраняет причину проблемы, как правило это правильней так правильно делать
#22 by Fragster
как это не решает? если там будет число - то не будет такой проблемы, т.е. она решена...
#23 by Cerera
а если я не могу сейчас изменить конфигурацию, а мне нужно извлечь данные? Я понимаю что изначально не надо было так делать, но уже поздно. с Этим гребаным весом связаны многие функции не в отчетах, а в обработках проведения и т.п.
#24 by Cerera
но это не отвечает на вопрос v8: как в СКД преобразовать строку к числу в вычисляемом поле или выражении?
#25 by Fragster
кто писал "Мне нужно создать вычисляемое поле Количество * Вес"?
#26 by Fragster
а если не "сейчас", то "когда" ты это сделаешь? "как нибудь в другой раз?"
#27 by Cerera
да. я это писал. но ветку создавал для того чтоб узнать как приведение типов делается. вечером начну делать. Да сделаю я на самом деле. просто мне столько часов не выделили на эту работу есть и другие задачи.
#28 by Cerera
вот я когда столкнулся впервые с СКД, начал рыть форумы и мало кто её знал. Именно вас как раз и запомнил удивляясь откуда вы знаете СКД так хорошо.
#29 by Fragster
вообще, конечно, ЕМНИП, в типовых есть еще справочник "единицы измерения" в котором есть вес...
#30 by Cerera
и это я тоже знаю. я уж тут разгребая несостыковку веса в единицах измерения и в характеристиках запарился.
#31 by Cerera
у характеристик вес разный
#32 by Maxus43
оставляй так, если устраивает. не парься, вам с этим жить)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С