|
СКД, округление! | ☑ | ||
---|---|---|---|---|
0
GanGster2012
09.08.12
✎
18:31
|
Сегодня столкнулся с такой задачкой! Мне надо перемножить 2 параметра.
Пример: 400 * 0,35454533(этот параметр через условное оформление формат я округлил до 0,35), а в итоге он мне считает не по округляемому параметру, а по параметру 0,35454533, и естественно весь итог у меня искажается((( Помоги кто знает! Как это одолеть???? |
|||
1
Нуф-Нуф
09.08.12
✎
18:36
|
ты изменяешь представление, а не значение.
поставь типа значения у поля число(15,2) |
|||
2
GanGster2012
09.08.12
✎
18:41
|
Это где такое можно провернуть?)))
|
|||
3
1C-band
09.08.12
✎
18:42
|
1. В запросе ВЫРАЗИТЬ(ТвоёПоле КАК ЧИСЛО(15, 2))
2. Условное оформление в СКД. |
|||
4
GanGster2012
09.08.12
✎
18:52
|
Спасибо, большое, щас будем пробовать!
|
|||
5
GanGster2012
09.08.12
✎
18:56
|
Я вот прописывал в вычисляемом поле вот так ,"Число(10,2)") НЕ ПОМОГЛО(((, но это было до моего обращения к вам за помощью, а щас буду пробовать по вашим советам, спасибо!
|
|||
6
Нуф-Нуф
09.08.12
✎
18:59
|
на закладке "наборы данных", в таблице полей, у нужного поля установи тип значения
|
|||
7
Нуф-Нуф
09.08.12
✎
19:00
|
либо как в (3) поставь ограничение на поле в самом запросе
|
|||
8
sanja26
09.08.12
✎
19:07
|
(6) именно, в наборе данных
|
|||
9
GanGster2012
09.08.12
✎
19:22
|
Вообщем не получается попробовал и так и всяк, не выходит, с запросами сам никогда не работал, тока с конструктором общаюсь, гляньте кто шарит, как его довести до ума?
Еще встал вопрос с добавкой периода чтобы можно было выбрать между датами, так он у меня считаю только на одну дату, как меняю рассчитать между двумя так он сразу в стопор! ВЫБРАТЬ ЕСТЬNULL(АР_СобственникиОбъектовАренды.Собственник, АР_СобственникиОбъектовАрендыВсе.Собственник) КАК Собственник, ЕСТЬNULL(АР_СобственникиОбъектовАренды.АгентскаяСхема, АР_СобственникиОбъектовАрендыВсе.АгентскаяСхема) КАК АгентскаяСхема, АР_ОбъектыАренды.Ссылка КАК ОбъектАренды ПОМЕСТИТЬ ВТСобственникиОбъектовАренды ИЗ Справочник.АР_ОбъектыАренды КАК АР_ОбъектыАренды ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АР_СобственникиОбъектовАренды.СрезПоследних КАК АР_СобственникиОбъектовАренды ПО (АР_СобственникиОбъектовАренды.ОбъектАренды = АР_ОбъектыАренды.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АР_СобственникиОбъектовАренды.СрезПоследних(, ОбъектАренды = ЗНАЧЕНИЕ(Справочник.АР_ОбъектыАренды.ПустаяСсылка)) КАК АР_СобственникиОбъектовАрендыВсе ПО (ИСТИНА) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ АР_ОбъектыАренды.Ссылка КАК ОбъектАренды, АР_ОбъектыАренды.ТипОбъекта, АР_ОбъектыАренды.ЗданиеИЭтаж ПОМЕСТИТЬ ВТОбъектыАренды ИЗ Справочник.АР_ОбъектыАренды КАК АР_ОбъектыАренды ГДЕ НЕ АР_ОбъектыАренды.ЭтоГруппа ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НАЧАЛОПЕРИОДА(АР_СтавкиСрезПоследних.Период, ДЕНЬ) КАК ДатаЗаписи, АР_СтавкиСрезПоследних.Услуга, АР_СтавкиСрезПоследних.ОбъектАренды, АР_СтавкиСрезПоследних.Ставка, АР_СтавкиСрезПоследних.СпособНачисления, АР_СтавкиСрезПоследних.Площадь ПОМЕСТИТЬ ВТСтавки ИЗ РегистрСведений.АР_Ставки.СрезПоследних КАК АР_СтавкиСрезПоследних ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТСтавки.ДатаЗаписи, ВТСтавки.Услуга, ВТСтавки.ОбъектАренды, ВТСтавки.Ставка, ВТСтавки.СпособНачисления, ВТСтавки.Площадь, МИНИМУМ(ЕСТЬNULL(АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок.Дата, ВТСтавки.ДатаЗаписи)) КАК ДатаНачала ПОМЕСТИТЬ ВТСтавкиДатаНачала ИЗ ВТСтавки КАК ВТСтавки ЛЕВОЕ СОЕДИНЕНИЕ Справочник.АР_ГрафикиИзмененияСтавокНаУслуги.ГрафикСтавок КАК АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок ПО ВТСтавки.Ставка = АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок.Ссылка И ВТСтавки.ДатаЗаписи <= АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок.Дата ГДЕ ЕСТЬNULL(АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок.Дата, ВТСтавки.ДатаЗаписи) <= &ПериодНД СГРУППИРОВАТЬ ПО ВТСтавки.ДатаЗаписи, ВТСтавки.Услуга, ВТСтавки.ОбъектАренды, ВТСтавки.СпособНачисления, ВТСтавки.Ставка, ВТСтавки.Площадь ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТСтавкиДатаНачала.ДатаЗаписи, ВТСтавкиДатаНачала.Услуга, ВТСтавкиДатаНачала.ОбъектАренды, ВТСтавкиДатаНачала.Ставка, ВТСтавкиДатаНачала.СпособНачисления, ВТСтавкиДатаНачала.Площадь, ВТСтавкиДатаНачала.ДатаНачала, МИНИМУМ(ЕСТЬNULL(ВТСтавкиДатаОкончания.ДатаНачала, КОНЕЦПЕРИОДА(&ПериодНД, ДЕНЬ))) КАК ДатаОкончания ПОМЕСТИТЬ ВТСтавкиПоПериодам ИЗ ВТСтавкиДатаНачала КАК ВТСтавкиДатаНачала ЛЕВОЕ СОЕДИНЕНИЕ ВТСтавкиДатаНачала КАК ВТСтавкиДатаОкончания ПО ВТСтавкиДатаНачала.ОбъектАренды = ВТСтавкиДатаОкончания.ОбъектАренды И ВТСтавкиДатаНачала.Услуга = ВТСтавкиДатаОкончания.Услуга И ВТСтавкиДатаНачала.ДатаНачала < ВТСтавкиДатаОкончания.ДатаНачала И ВТСтавкиДатаНачала.ДатаЗаписи < ВТСтавкиДатаОкончания.ДатаЗаписи СГРУППИРОВАТЬ ПО ВТСтавкиДатаНачала.СпособНачисления, ВТСтавкиДатаНачала.ОбъектАренды, ВТСтавкиДатаНачала.ДатаЗаписи, ВТСтавкиДатаНачала.ДатаНачала, ВТСтавкиДатаНачала.Услуга, ВТСтавкиДатаНачала.Ставка, ВТСтавкиДатаНачала.Площадь ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТСтавкиПоПериодам.ДатаЗаписи, ВТСтавкиПоПериодам.Услуга, ВТСтавкиПоПериодам.ОбъектАренды, ЕСТЬNULL(АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок.Ставка, ВТСтавкиПоПериодам.Ставка) КАК Ставка, ВТСтавкиПоПериодам.СпособНачисления, ВТСтавкиПоПериодам.Площадь, ЕСТЬNULL(АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок.Дата, ВТСтавкиПоПериодам.ДатаНачала) КАК ДатаНачала, ВТСтавкиПоПериодам.ДатаОкончания КАК ДатаОкончанияПериода ПОМЕСТИТЬ ВТСтавкиЧислоДатаНачала ИЗ ВТСтавкиПоПериодам КАК ВТСтавкиПоПериодам ЛЕВОЕ СОЕДИНЕНИЕ Справочник.АР_ГрафикиИзмененияСтавокНаУслуги.ГрафикСтавок КАК АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок ПО ВТСтавкиПоПериодам.Ставка = АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок.Ссылка И (АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок.Дата >= ВТСтавкиПоПериодам.ДатаНачала) И (АР_ГрафикиИзмененияСтавокНаУслугиГрафикСтавок.Дата <= ВТСтавкиПоПериодам.ДатаОкончания) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТСтавкиЧислоДатаНачала.ДатаЗаписи, ВТСтавкиЧислоДатаНачала.Услуга, ВТСтавкиЧислоДатаНачала.ОбъектАренды, ВТСтавкиЧислоДатаНачала.Ставка, ВТСтавкиЧислоДатаНачала.СпособНачисления, ВТСтавкиЧислоДатаНачала.Площадь, ВТСтавкиЧислоДатаНачала.ДатаНачала, МИНИМУМ(ЕСТЬNULL(ВТСтавкиЧислоДатаОкончания.ДатаНачала, ВТСтавкиЧислоДатаНачала.ДатаОкончанияПериода)) КАК ДатаОкончания ПОМЕСТИТЬ ВТГрафикИзмененияСтавок ИЗ ВТСтавкиЧислоДатаНачала КАК ВТСтавкиЧислоДатаНачала ЛЕВОЕ СОЕДИНЕНИЕ ВТСтавкиЧислоДатаНачала КАК ВТСтавкиЧислоДатаОкончания ПО ВТСтавкиЧислоДатаНачала.Услуга = ВТСтавкиЧислоДатаОкончания.Услуга И ВТСтавкиЧислоДатаНачала.ОбъектАренды = ВТСтавкиЧислоДатаОкончания.ОбъектАренды И ВТСтавкиЧислоДатаНачала.ДатаНачала < ВТСтавкиЧислоДатаОкончания.ДатаНачала И ВТСтавкиЧислоДатаНачала.ДатаЗаписи = ВТСтавкиЧислоДатаОкончания.ДатаЗаписи СГРУППИРОВАТЬ ПО ВТСтавкиЧислоДатаНачала.СпособНачисления, ВТСтавкиЧислоДатаНачала.Услуга, ВТСтавкиЧислоДатаНачала.ДатаЗаписи, ВТСтавкиЧислоДатаНачала.ДатаНачала, ВТСтавкиЧислоДатаНачала.ОбъектАренды, ВТСтавкиЧислоДатаНачала.Ставка, ВТСтавкиЧислоДатаНачала.Площадь ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВЫБОР КОГДА &ПериодНД = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА ЗНАЧЕНИЕ(Перечисление.Ар_СтатусыОбъектовАренды.Свободен) КОГДА АР_СтатусыОбъектовАрендыСрезПоследних.ДатаНачалаАренды <= &ПериодНД И (&ПериодНД <= АР_СтатусыОбъектовАрендыСрезПоследних.ДатаОкончанияАренды ИЛИ АР_СтатусыОбъектовАрендыСрезПоследних.ДатаОкончанияАренды = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) ТОГДА АР_СтатусыОбъектовАрендыСрезПоследних.Статус ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.Ар_СтатусыОбъектовАренды.Свободен) КОНЕЦ КАК Статус1, АР_СтатусыОбъектовАрендыСрезПоследних.Услуга КАК Услуга, АР_СтатусыОбъектовАрендыСрезПоследних.ОбъектАренды, ВТГрафикИзмененияСтавок.Ставка, АР_СтатусыОбъектовАрендыСрезПоследних.Договор, АР_СтатусыОбъектовАрендыСрезПоследних.Договор.Владелец КАК Контрагент, АР_СтатусыОбъектовАрендыСрезПоследних.ДатаОкончанияАренды КАК ДатаОкончания, ВТГрафикИзмененияСтавок.СпособНачисления, ВТГрафикИзмененияСтавок.ДатаЗаписи ПОМЕСТИТЬ ВТСтатусыОбъектовАренды ИЗ РегистрСведений.АР_СтатусыОбъектовАренды.СрезПоследних(, НЕ ОбъектАренды = ЗНАЧЕНИЕ(Справочник.Ар_ОбъектыАренды.ПустаяСсылка)) КАК АР_СтатусыОбъектовАрендыСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ ВТГрафикИзмененияСтавок КАК ВТГрафикИзмененияСтавок ПО АР_СтатусыОбъектовАрендыСрезПоследних.ОбъектАренды = ВТГрафикИзмененияСтавок.ОбъектАренды И АР_СтатусыОбъектовАрендыСрезПоследних.Услуга = ВТГрафикИзмененияСтавок.Услуга И (ВТГрафикИзмененияСтавок.ДатаОкончания = КОНЕЦПЕРИОДА(&ПериодНД, ДЕНЬ)) ГДЕ АР_СтатусыОбъектовАрендыСрезПоследних.ДатаНачалаАренды <= &ПериодНД И (&ПериодНД <= АР_СтатусыОбъектовАрендыСрезПоследних.ДатаОкончанияАренды ИЛИ АР_СтатусыОбъектовАрендыСрезПоследних.ДатаОкончанияАренды = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СтатусыОбъектовАренды.ОбъектАренды, МИНИМУМ(ДОБАВИТЬКДАТЕ(СтатусыОбъектовАренды.ДатаНачалаАренды, ДЕНЬ, -1)) КАК ДатаОкончания ПОМЕСТИТЬ ВТСтатусыСрезПервых ИЗ РегистрСведений.АР_СтатусыОбъектовАренды КАК СтатусыОбъектовАренды ГДЕ СтатусыОбъектовАренды.Период <= &Период И СтатусыОбъектовАренды.ДатаНачалаАренды > &Период СГРУППИРОВАТЬ ПО СтатусыОбъектовАренды.ОбъектАренды ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТОбъектыАренды.ОбъектАренды, ВТОбъектыАренды.ТипОбъекта, ВТОбъектыАренды.ЗданиеИЭтаж, ЕСТЬNULL(ВТСтатусыОбъектовАренды.Статус1, ЗНАЧЕНИЕ(Перечисление.Ар_СтатусыОбъектовАренды.Свободен)) КАК Статус, ВТСтатусыОбъектовАренды.Услуга, ВТСтатусыОбъектовАренды.Ставка, ВТСобственникиОбъектовАренды.Собственник, ВТСобственникиОбъектовАренды.АгентскаяСхема, ВТСтатусыОбъектовАренды.Договор, ВТСтатусыОбъектовАренды.Контрагент, ЕСТЬNULL(ВТСтатусыОбъектовАренды.ДатаОкончания, ВТСтатусыСрезПервых.ДатаОкончания) КАК ДатаОкончания, ВТСтатусыОбъектовАренды.СпособНачисления, ВТСтатусыОбъектовАренды.ДатаЗаписи ИЗ ВТОбъектыАренды КАК ВТОбъектыАренды ЛЕВОЕ СОЕДИНЕНИЕ ВТСтатусыОбъектовАренды КАК ВТСтатусыОбъектовАренды ПО ВТОбъектыАренды.ОбъектАренды = ВТСтатусыОбъектовАренды.ОбъектАренды ЛЕВОЕ СОЕДИНЕНИЕ ВТСобственникиОбъектовАренды КАК ВТСобственникиОбъектовАренды ПО ВТОбъектыАренды.ОбъектАренды = ВТСобственникиОбъектовАренды.ОбъектАренды ЛЕВОЕ СОЕДИНЕНИЕ ВТСтатусыСрезПервых КАК ВТСтатусыСрезПервых ПО ВТОбъектыАренды.ОбъектАренды = ВТСтатусыСрезПервых.ОбъектАренды {ХАРАКТЕРИСТИКИ ТИП(Справочник.АР_ОбъектыАренды) ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ СвойстваОбъектов.Ссылка, СвойстваОбъектов.Наименование, СвойстваОбъектов.ТипЗначения ИЗ ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов ГДЕ СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ОбъектыАренды)) ПОЛЕКЛЮЧА Ссылка ПОЛЕИМЕНИ Наименование ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов ПОЛЕОБЪЕКТА Объект ПОЛЕВИДА Свойство ПОЛЕЗНАЧЕНИЯ Значение } |
|||
10
Нуф-Нуф
09.08.12
✎
19:26
|
ужаснах
|
|||
11
GanGster2012
09.08.12
✎
19:29
|
Согласен )))
|
|||
12
GanGster2012
09.08.12
✎
19:33
|
Вопрос с датами отпадает, а где тогда в запросе вставить, ВЫРАЗИТЬ(ТвоёПоле КАК ЧИСЛО(15, 2))????
|
|||
13
FIXXXL
09.08.12
✎
19:36
|
*100
возьми целое +0,5 (ну или как тебе надо) /100 и никогда не забивайся на округление :) |
|||
14
GanGster2012
09.08.12
✎
19:41
|
Так наверно не прокатит т.к. у этих значений разное кол-во цифр после запятой (((
|
|||
15
FIXXXL
09.08.12
✎
19:45
|
(14) тебе на выходе еще надо разное количество после запятой?
ну извините! :) |
|||
16
GanGster2012
09.08.12
✎
19:47
|
нет на выходе не надо ))))
|
|||
17
GanGster2012
09.08.12
✎
19:48
|
Сюда можно скрин вставить?
|
|||
18
FIXXXL
09.08.12
✎
19:49
|
(17) нахер твой скрин, если ты попробовать не хочешь
|
|||
19
GanGster2012
09.08.12
✎
19:50
|
Я пробую тока ничего не выходит
|
|||
20
FIXXXL
09.08.12
✎
19:53
|
((400 * 0,35454533)*100)возьми целое (хер знает в чем ты пишешь)+0,5 (ну или как тебе надо)/100
так понятнее? |
|||
21
FIXXXL
09.08.12
✎
19:54
|
со скобками мог подъ...бать :)
|
|||
22
GanGster2012
09.08.12
✎
19:59
|
Спасибо тебе конечно, щас буду разбираться
|
|||
23
sanja26
09.08.12
✎
20:03
|
(20) фигня какая-то
|
|||
24
FIXXXL
10.08.12
✎
01:47
|
(23) я прям растерялся :(
|
|||
25
sanja26
10.08.12
✎
02:11
|
(24) а если не 5 вторая цифра после запятой. пудришь мозг парню. там все штатными средствами округляется
|
|||
26
FIXXXL
10.08.12
✎
13:24
|
(25) да хоть двадцать пять
иногда лучше жевать |
|||
27
sanja26
10.08.12
✎
13:35
|
(27) вот именно. жевательная резинка твое все)
|
|||
28
FIXXXL
12.08.12
✎
18:45
|
(27) ты б попробовал, прежде, чем рот разевать от жувки ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |