1С 8.3 Функции запроса Окр() и Цел()
Данные > Примеры кода 1С > 1С 8.3 Запросы > 1С 8.3 Функции в запросе
Перейти в раздел примеры кода 1С 8.3:
Добавлена в язык запросов начиная с релиза 1С 8.3.20:
Процедура ФункцияЗапросаОкр(ТестЧисло, ТестРазряд)
Запрос = Новый Запрос("ВЫБРАТЬ
| ОКР(12345.345235, -2) КАК Округление,
| ЦЕЛ(12345.345) КАК Цел1"
);
Результат = Запрос.Выполнить();
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
Сообщить(Записи.Округление); // 12 300
Сообщить(Записи.Цел1); // 12 345
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Запрос = Новый Запрос("ВЫБРАТЬ
| ОКР(12345.345235, -2) КАК Округление,
| ЦЕЛ(12345.345) КАК Цел1"
);
Результат = Запрос.Выполнить();
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
Сообщить(Записи.Округление); // 12 300
Сообщить(Записи.Цел1); // 12 345
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Тестирование и сравнение функции округление в запросе:
Процедура ФункцияЗапросаОкр(ТестЧисло, ТестРазряд)
Запрос = Новый Запрос("ВЫБРАТЬ
| ОКР(&ТестЧисло, &ТестРазряд) КАК Округление");
Запрос.УстановитьПараметр("ТестЧисло", ТестЧисло);
Запрос.УстановитьПараметр("ТестРазряд", ТестРазряд);
Результат = Запрос.Выполнить();
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
Сообщить(Записи.Округление); // 12 345,35
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ФункцияОкр(ТестЧисло, ТестРазряд)
Сообщить(Окр(ТестЧисло, ТестРазряд)); // 12 345,35
КонецПроцедуры
Процедура ТестОкругления()
ТестЧисло = 12345.345235;
ТестРазряд = 2;
ФункцияЗапросаОкр(ТестЧисло, ТестРазряд);
ФункцияОкр(ТестЧисло, ТестРазряд);
КонецПроцедуры
Запрос = Новый Запрос("ВЫБРАТЬ
| ОКР(&ТестЧисло, &ТестРазряд) КАК Округление");
Запрос.УстановитьПараметр("ТестЧисло", ТестЧисло);
Запрос.УстановитьПараметр("ТестРазряд", ТестРазряд);
Результат = Запрос.Выполнить();
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
Сообщить(Записи.Округление); // 12 345,35
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ФункцияОкр(ТестЧисло, ТестРазряд)
Сообщить(Окр(ТестЧисло, ТестРазряд)); // 12 345,35
КонецПроцедуры
Процедура ТестОкругления()
ТестЧисло = 12345.345235;
ТестРазряд = 2;
ФункцияЗапросаОкр(ТестЧисло, ТестРазряд);
ФункцияОкр(ТестЧисло, ТестРазряд);
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник