Имя: Пароль:
1C
1С v8
Дробное выражение как правильно написать
,
0 MoydodbIR
 
09.12.15
23:53
Все привет! я только учусь по этому кто поможет спасибо! в общем пытаюсь написать пользовательское выражение в СКД и не пойму где что упускаю пишет ошибку синтаксиса. Нужно получить одно из двух выражений, нужно получить целое число а не дробное из 2 выражений. Не могу понять где я ошибся в выражение. И правильно ли я пишу выражение?



CH=[Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов];

Если CH=Цел(CH) Тогда
[Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]
Иначе
([Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]); * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) / [Номенклатура.Коэффициент единицы для отчетов]
КонецЕсли;
1 MoydodbIR
 
10.12.15
01:41
АП недоехал
2 MoydodbIR
 
10.12.15
03:30
Проше написать так видимо как можно реализовать синтаксис не знаю в скд
вобшем  

1 уровень число общее 500 второе 120 третье 10
2 уровень число общее 25 второе 6

У второго уровня только 2ва числа

(500 - Цел(500/120)*120)/10=2 считайем по первому уровню получаем цело число значит показываем в отчете.

Если пойти по тому же принципу во втором уровне, поскольку там только два числа то получается следующее

(25 - Цел(25/6)*6)/6=0,16 дробное число не устраивает

Поэтому если число дробное то убираем последнее деление поскольку оно лишнее

25 - Цел(25/6)*6=1 поскольку получили целое число то показываем его

Как написать это синтаксисом в СКД
Выбор
ТОГДА
КОГДА
КОНЕЦ
3 ЧеловекДуши
 
10.12.15
07:38
(2) Читай, скачивай, разбирай, что не понятно в терминологии, ищи в Синтаксис-Помощнике (СП). Гугл хорошо работает http://www.forum.mista.ru/find.php
http://1cskd.ru/2010/07/primery-otchetov-na-skd/
4 MoydodbIR
 
10.12.15
10:53
ЧеловекДуши

Спасибо! за отклик, если есть возможность написать как проводить сравнение про выборку я понял. Мне не понятно как сравнивать из 2 выражений на языке скд условие сравнения как задать, что в дробное число не устраивает, выводить только целое из 2ух выражений.
5 cw014
 
10.12.15
11:12
(4) 4 раза прочитал - не осилил поток сознания
6 MoydodbIR
 
10.12.15
13:03
Дробное выражение как правильно написать
если выражение = дробному из условия 1 то выводить, если дробное то пересчитать по 2 условию. Поток прост нужно сравнить 2 выражения и вывести то которое делится без дробного остатка. 0,833 не делится, 1,2,3 делится.
7 Лефмихалыч
 
10.12.15
13:08
(6) как у тебя это получается? Опять не понятно ни шиша...
8 Nuobu
 
10.12.15
13:14
Выбор Когда Цел((25 - Цел(25/6)*6)/6) <> (25 - Цел(25/6)*6)/6 Тогда (25 - Цел(25/6)*6)/6 Иначе 0 Конец
9 hhhh
 
10.12.15
13:15
(6) ну а в чем проблема? Ты же написал в (0)

теперь вместо Если напиши ВЫБОР КОГДА
вместо КонецЕсли КОНЕЦ

и вместо переменной СН ее значение пиши
10 MoydodbIR
 
10.12.15
13:55
№7 Прости ну как могу так и разгоняюсь

№8 как при сравнении 2ух одинаковых ты строго не равны?
не понял честно как это описать.

#9и вместо переменной СН ее значение пиши

Тк значение с начало надо определить по одному из выражений.

Попробовал Так

CH=[Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов];

ВЫБОР
КОГДА  CH=Цел(CH) Тогда
[Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]
Иначе
([Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]); * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) / [Номенклатура.Коэффициент единицы для отчетов]
КОНЕЦ;

Ошибка синтаксиса.
11 Nuobu
 
10.12.15
14:45
/ [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]); *
Крапка с комой.
12 Eugene_life
 
10.12.15
15:17
(10) Вместо СН пиши полностью выражение в условии
13 MoydodbIR
 
10.12.15
15:48
#11  Спасибо не заметил

#12 Я правильно понял?

ВЫБОР
КОГДА  [Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов] = Цел([Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов] )
ТОГДА
[Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]
ИНАЧЕ
([Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) / [Номенклатура.Коэффициент единицы для отчетов]
КОНЕЦ;


Ошибку синтаксиса выдает
14 Eugene_life
 
10.12.15
15:51
(13) убирай по частям (заменяй выражение на "Истина") и ищи, где не так с синтаксисом
15 MoydodbIR
 
10.12.15
16:25
(14) Да ошибка была в КОНЕЦ;
но теперь другая тема при проверке все равно выдает дробное то есть от условия ничего не поменялось

ВЫБОР
КОГДА
([Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) / [Номенклатура.Коэффициент единицы для отчетов] = Цел(([Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) / [Номенклатура.Коэффициент единицы для отчетов] )
ТОГДА
([Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) / [Номенклатура.Коэффициент единицы для отчетов]
ИНАЧЕ
[Конечный остаток] - Цел([Конечный остаток] / [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]) * [Номенклатура.Набор упаковок.Коэффициент единицы для отчетов]
КОНЕЦ

немного местами выражение поменял.
хотя я проверяю выражение на дробность но дроби как выходили так и выходят (
16 MoydodbIR
 
10.12.15
17:11
(14) Большое спасибо! крыша поехала сори ))) все норм СПАСИБО! ВСЕМ