Имя: Пароль:
1C
 
СКД: Целый остаток в ящиках + в единицах
0 iceman2112
 
25.01.17
15:35
УТ 11.
Как получить целое число в ВычислитьВыражение()

Нужно вывести в отчет целое число - остаток в ящиках и через запятую, остаток в единицах

К примеру: 16 штук на остатке, в ящике 12, в отчете в единицах отчета покажет 1,3. А нужно 1,4 т.е. 1 ящик и 4 единицы. Причем достаточно только в группировке номенклатура

А ВычислитьВыражение не дает возможность получить целую часть
"ВЫРАЗИТЬ(ВНаличии / Номенклатура.КоэффициентЕдиницыДляОтчетов КАК Число(15,0))"

У кого есть мысли?
1 ГеннадийУО
 
25.01.17
15:58
(0)"ВЫРАЗИТЬ(ВНаличии / Номенклатура.КоэффициентЕдиницыДляОтчетов -0,499999 КАК Число(15,0))"
2 iceman2112
 
25.01.17
16:03
(1) Синтаксическую ошибку выдает
ВНаличии / Номенклатура.КоэффициентЕдиницыДляОтчетов
если так все ок
Если
"ВЫРАЗИТЬ(ВНаличии / Номенклатура.КоэффициентЕдиницыДляОтчетов КАК Число(15,0))" Ошибка

Это в ВычислитьВыражение
3 iceman2112
 
25.01.17
16:04
Ошибка в выражении "ВЫБОР
    КОГДА Номенклатура.КоэффициентЕдиницыДляОтчетов = 0
        ТОГДА "0"
    ИНАЧЕ

    ВЫРАЗИТЬ(ВНаличии / Номенклатура.КоэффициентЕдиницыДляОтчетов КАК Число(15,0))
    
КОНЕЦ"
по причине:
Синтаксическая ошибка
4 iceman2112
 
25.01.17
16:04
Нет получается выразить в вычислить выражение
5 ГеннадийУО
 
25.01.17
16:38
(2) Выразить это для запросов...
6 Nuobu
 
25.01.17
16:57
Используй общую функцию из общего модуля.
7 iceman2112
 
25.01.17
17:12
(6) конфигурация на поддержке
8 Nuobu
 
25.01.17
17:16
(7) Аа. Тогда так - в запросе добавляешь еще два поля -
Номенклатура.КоэффициентЕдиницыДляОтчетов как Коеф,
ВЫразить(ВЫРАЗИТЬ(ВНаличии / Номенклатура.КоэффициентЕдиницыДляОтчетов -0,499999 КАК Число(15,0)) КАК ТолькоЯщики

В СКД в дополнительных полях пиши -
"" + ТолькоЯщики + ", " + (ВНаличии - Коеф * ТолькоЯщики)

Вроде так.
9 iceman2112
 
25.01.17
17:19
(8) Пробую
10 iceman2112
 
25.01.17
17:52
ВычислитьВыражение(" """" + Строка(ВНаличииЦелое) + "","" +  Строка(ВНаличии - ВНаличииЦелое * КоэффициентЕдиницыДляОтчетов)", "Номенклатура")

Вот так взлетело когда в Строка() Завернул
11 iceman2112
 
26.01.17
12:33
в вычислить выражение можно делать целое
Т.е.

ВычислитьВыражение(" """" + Строка(ВНаличииЦелое) + "","" +  Строка(Сумма(ВНаличии) - Сумма(Цел(ВНаличии / КоэффициентЕдиницыДляОтчетов) * КоэффициентЕдиницыДляОтчетов)", "Номенклатура")
12 iceman2112
 
26.01.17
12:34
Цел()
2 + 2 = 3.9999999999999999999999999999999...