| 
    
        
     
     | 
    
    
  | 
Преобразование значения к типу Число не может быть выполнено | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        Ладно, спасибо.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |