Преобразование значения к типу Число не может быть Выполнено! Что делать?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
&НаСервере
Функция НайтиРабочееВремя(ДолжностьСотр)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РабочиеЧасыСрезПоследних.Время
|ИЗ
| РегистрСведений.РабочиеЧасы.СрезПоследних КАК РабочиеЧасыСрезПоследних
|ГДЕ
| РабочиеЧасыСрезПоследних.ДолжностьСотрудника = &ДолжнСотр";
Запрос.УстановитьПараметр("ДолжнСотр", ДолжностьСотр);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.Время;
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецФункции
Показать
(3)
P.S. Всем желающим помочь рекомендуется к прочтениюпрошлая ветка автора .
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.Время;
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
Возврат в цикле - это сильно!
Возврат ВыборкаДетальныеЗаписи.Время;
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
P.S. Всем желающим помочь рекомендуется к прочтению
(10)
А сейчас в такой ситуации - см. (1): нельзя число 26 умножать на пустое значение.
Или я чего-то не понимаю?
и где противоречие?
В скриншоте из (1):
СуммаОплаты = Оклад/(26*НайтиРабочееВремя(ДолжнСотр));
Если последовать вашему совету из (4), а должность почему-то не найдена - вернется 0, что и вызовет ошибку деления на 0.
А сейчас в такой ситуации - см. (1): нельзя число 26 умножать на пустое значение.
Или я чего-то не понимаю?
(13)
Вот это значение и использовать вместо 0 в рекомендации из (4).
как же исключить эту непонятную ошибку?
Для этого вам надо определиться: какое должно быть рабочее время для сотрудника, у которого не задана должность или для этой должности почему-то не проставлено рабочее время?
Вот это значение и использовать вместо 0 в рекомендации из (4).
Просто ни разу не было такой ошибки при проведении табелей.
Скорее всего, кого-то приняли без указания должности или на новую должность, для которой не указали рабочее время.
(17)
А во вторых, такой код приведет к тому, что у сотрудников с некорректно заполненной должностью (см.16) СуммаОплаты будет равна 0.
А если предположить, что она должна быть равна Окладу, то вместо 0 надо использовать Оклад.
Так что все зависит от корректной постановки задачи, чем автор... гм... не блещет.
как-то так
Спасибо, но во-первых, мне-то это как-то ни к чему.
А во вторых, такой код приведет к тому, что у сотрудников с некорректно заполненной должностью (см.16) СуммаОплаты будет равна 0.
А если предположить, что она должна быть равна Окладу, то вместо 0 надо использовать Оклад.
Так что все зависит от корректной постановки задачи, чем автор... гм... не блещет.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот