|
Преобразование значения к типу Число не может быть выполнено | ☑ | ||
---|---|---|---|---|
0
Sanek1756
18.12.12
✎
20:59
|
Доброе время суток форумчане.
Не могу найти проблему! Выдает такую ошибку: Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {ОбщийМодуль.ПроведениеРасчетов.Модуль(31)}: Преобразование значения к типу Число не может быть выполнено ЗаписьРегистра.Результат=(ЗаписьРегистра.ИсходныеДанные Help me, please! Листинг программы: Процедура РассчитатьНачисления(НаборЗаписейРегистра, ТребуемыйВидРасчета, СписокСотрудников) Экспорт Регистратор = НаборЗаписейРегистра.Отбор.Регистратор.Значение; //Рассчитать первичные записи. Если ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |НачисленияДанныеГрафика.ЗначениеПериодДействия КАК Норма, |НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия КАК Факт, |НачисленияДанныеГрафика.НомерСтроки КАК НомерСтроки |ИЗ |РегистрРасчета.Начисления.ДанныеГрафика(Регистратор = &Регистратор И |ВидРасчета = &ВидРасчета И Сотрудник В (&СписокСотрудников)) |КАК НачисленияДанныеГрафика"; Запрос.УстановитьПараметр("Регистратор", Регистратор); Запрос.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета); Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников); ВыборкаРезультата = Запрос.Выполнить().Выбрать(); Для каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл СтруктураНомер = Новый Структура("НомерСтроки"); СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки; ВыборкаРезультата.Сбросить(); Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда Если ВыборкаРезультата.Норма = 0 Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "ВидРасчета:Оклад - Нет рабочих дней в заданном периоде"; Сообщение.Сообщить(); ЗаписьРегистра.Результат = 0; Иначе //Рассчитать оклад по фактическому периоду и исходным данным. ЗаписьРегистра.Результат=(ЗаписьРегистра.ИсходныеДанные /ВыборкаРезультата.Норма)*ВыборкаРезультата.Факт; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Выполнен расчет" + ЗаписьРегистра.Регистратор + "-" + ЗаписьРегистра.ВидРсчета + "-" + ЗаписьРегистра.Сотрудник; Сообщение.Сообщить(); КонецЕсли; КонецЕсли; КонецЦикла; //Расчитать вторичные записи. ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |НачисленияБазаНачисления.РезультатБаза КАК База, |НачисленияБазаНачисления.НомерСтроки КАК НомерСтроки |ИЗ |РегистрРасчета.Начисления.БазаНачисления(&ИзмеренияОсновного, |&ИзмеренияБазового,,Регистратор = &Регистратор И ВидРасчета = &ВидРасчета И |Сотрудник В (&СписокСотрудников)) КАК НачисленияБазаНачисления"; Измер = Новый Массив(1); Измер[0] = "Сотрудник"; Запрос.УстановитьПараметр("ИзмеренияОсновного", Измер); Запрос.УстановитьПараметр("ИзмеренияБазового", Измер); Запрос.УстановитьПараметр("Регистратор", Регистратор); Запрос.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета); Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников); ВыборкаРезультата = Запрос.Выполнить().Выбрать(); Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл СтруктураНомер = Новый Структура("НомерСтроки"); СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки; ВыборкаРезультата.Сбросить(); Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда ЗаписьРегистра.Результат = ВыборкаРезультата.База * (10/100); Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "ВыполненРасчет" + ЗаписьРегистра.Регистратор + "-" + ЗаписьРегистра.ВидРасчета + "-" + ЗаписьРегистра.Сотрудник; Сообщение.Сообщить(); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
1
ДенисЧ
18.12.12
✎
21:01
|
Наверное, там не число, а, например, NULL
|
|||
2
Sanek1756
18.12.12
✎
21:03
|
Куда поконкретней значение NULL поставить?
|
|||
3
Fragster
гуру
18.12.12
✎
21:03
|
учу пользоваться отладчиком. дорого.
|
|||
4
ДенисЧ
18.12.12
✎
21:03
|
(3) Я дешевле :-)
|
|||
5
Ork
18.12.12
✎
21:04
|
+(0)
Внимание вопрос : угадайте что написано в строке №31. И что б не расслаблялись - вопрос по 1С в секии "наука". |
|||
6
shuhard
18.12.12
✎
21:04
|
(0)[Не могу найти проблему]
проблемы сами тебя найдут |
|||
7
Sanek1756
18.12.12
✎
21:11
|
(4) Подскажи куда поставить NULL.
|
|||
8
Undefined vs NULL
18.12.12
✎
21:16
|
NULL он такой, он не Неопределено
|
|||
9
Sanek1756
18.12.12
✎
21:30
|
Undefined vs NULL
Как это понимать? |
|||
10
Ork
18.12.12
✎
21:40
|
(9) Будь мужиком - покажи уже народу 35-ю строчку.
|
|||
11
Sanek1756
18.12.12
✎
21:51
|
35-ю строку я уже и так заметил.
Подправьте кусок листинга пожалуйста кому не сложно. |
|||
12
AndyTLT63
18.12.12
✎
21:54
|
Прочитай про язык запросов и функцию ЕСТЬNULL()
|
|||
13
AndyTLT63
18.12.12
✎
21:56
|
Вообщем тебе запрос надо поменять на
|ЕСТЬNULL(НачисленияДанныеГрафика.ЗначениеПериодДействия,0) КАК Норма, |
|||
14
Sanek1756
18.12.12
✎
21:59
|
Спасибо большое!!!
|
|||
15
Sanek1756
18.12.12
✎
22:02
|
Тольяттинские в помощи друг другу не откажут)
|
|||
16
DrShad
18.12.12
✎
22:04
|
бугага, бывал я в Вашем Тольятти - большая деревня
|
|||
17
Lys
18.12.12
✎
22:04
|
Предвижу следующую ветку.
Тема - Помогите! Ошибка: деление на 0! |
|||
18
AndyTLT63
18.12.12
✎
22:07
|
(16) Насчет деревни - согласен в плане работы для программистов и низкого уровня ЗП. А так город хороший. Волга рядом ..
|
|||
19
AndyTLT63
18.12.12
✎
22:08
|
(15) Своих всегда выручим..=)
|
|||
20
DrShad
18.12.12
✎
22:11
|
(19) у Вас есть некий aka АлександрМатросов и где он?
|
|||
21
AndyTLT63
18.12.12
✎
22:13
|
(20) незнаю такого...
|
|||
22
Sanek1756
18.12.12
✎
22:13
|
Ты рассчитываешь на то что он появится в этом форуме?
|
|||
23
DrShad
18.12.12
✎
22:16
|
мне интересно когда вы успели образоваться в Тольятти?
|
|||
24
AndyTLT63
18.12.12
✎
22:18
|
Вопрос не понятен
|
|||
25
DrShad
18.12.12
✎
22:18
|
вот и я не пойму
|
|||
26
Sanek1756
18.12.12
✎
22:20
|
Lys, может тогда подправишь?
Ошибку не выдает, но и результат не рассчитывает. |
|||
27
AndyTLT63
18.12.12
✎
22:25
|
Ты судя по всему задачу на спеца решаешь? не
? |
|||
28
AndyTLT63
18.12.12
✎
22:25
|
А то очень похоже..
|
|||
29
Sanek1756
18.12.12
✎
22:28
|
По книге прохожу, а тут косяк за косяком.
И от этого автомат по 1с зависит) |
|||
30
DrShad
18.12.12
✎
22:28
|
ладно, думаю вы ты тут и без меня разберетесь кто что решает
|
|||
31
acsent
18.12.12
✎
22:29
|
Разве период действия не дата?
|
|||
32
AndyTLT63
18.12.12
✎
22:29
|
Вообщем у тебя база начисления судя по всему либо равна 0, либо ты передаешь неправильные параметры в запрос
|
|||
33
AndyTLT63
18.12.12
✎
22:33
|
Это если премию рассчитываешь
|
|||
34
AndyTLT63
18.12.12
✎
22:35
|
А если оклад то нужно смотреть связь регистра расчета с графиком... и связь измерений с графиком... Да и вообще проверить правильно ли заполенны сами графики. МОжет они просто не заполенны
|
|||
35
AndyTLT63
18.12.12
✎
22:37
|
Найди книгу "Учебный центр " "Решение оперативных задач" вот там все хорошо описано. ТОчное название книги не помню. Должно помочь
|
|||
36
Sanek1756
18.12.12
✎
22:38
|
Ладно, спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |