Имя: Пароль:
1C
1С v8
Преобразование значения к типу Булево не может быть выполнено. Не пойму!
0 IBTM
 
11.10.12
12:48
Конфа, зуп.

Док. "КадровоеПеремещениеОрг", документ новый, не записанный! На вкладке сотрудники (1-ая вкладка) при изменении колонки "С" вставил процедуру (см.ниже). Смысл, ищу на второй закладке строку с нужным видом расчета и изменяю у него "Показатель" в зависимости от даты "С".

Пример:
На второй закладке две строки, первая с нужным видом расчета, вторая нет. Оба вида расчета из одного ПланаВидовРасчета". При проходе условия Если первой строки, все замечательно, а вторая почему-то выдает ошибку. Не пойму почему это происходит, ведь в принципе ни чего криминального, идет проверка на нужный мне вид расчета.
Момогите разобраться, что -то я туплю. Может там чтото с тем что док новый и не записан...


{Документ.КадровоеПеремещениеОрганизаций.Форма.ФормаДокумента.Форма(1452)}: Преобразование значения к типу Булево не может быть выполнено
       Если СтрН.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням Или ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам Тогда


   Запрос = Новый Запрос;
   
   Запрос.УстановитьПараметр("Должность", РаботникиОрганизации[0].Должность);
   Запрос.УстановитьПараметр("ДатаНачала", РаботникиОрганизации[0].ДатаНачала);
   
   Запрос.Текст = "ВЫБРАТЬ
                  |    ЕСТЬNULL(ПривязкаОкладаКДолжностиСрезПоследних.РазмерОклада, 0) КАК РазмерОклада
                  |ИЗ
                  |    РегистрСведений.ПривязкаОкладаКДолжности.СрезПоследних(&ДатаНачала, ) КАК ПривязкаОкладаКДолжностиСрезПоследних
                  |ГДЕ
                  |    ПривязкаОкладаКДолжностиСрезПоследних.Должность = &Должность";
                 
   Результат = Запрос.Выполнить().Выбрать();
   
   Результат.Следующий();
   
   НоваяСтавка = Результат.РазмерОклада;    
       
   Для Каждого СтрН Из ОсновныеНачисления Цикл
       
       Если СтрН.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням Или ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам Тогда
           
           СтрН.Показатель1 = НоваяСтавка;
       КонецЕсли;
           
   КонецЦикла
1 1Сергей
 
11.10.12
12:49
Если СтрН.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням Или СтрН.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам Тогда
2 Starhan
 
11.10.12
12:50
В конфигуратор остановку по ошибке и смотреть эту строку
3 Deon
 
11.10.12
12:51
(2) +много думать о смысле жизни?
4 Godofsin
 
11.10.12
12:51
ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам
тут чо?
5 Starhan
 
11.10.12
12:52
(3)(4) а точно сам код - лол
6 hhhh
 
11.10.12
13:04
ну автор правильно написал, это язык 1С - какой-то ущербный, не понимает элементарных человеческих фраз.
7 Aprobator
 
11.10.12
13:05
(0) ...ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам... нефига не булево значение, чего непонятного то?
8 vtolga
 
11.10.12
13:06
Злые вы...

Если СтрН.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням Или СтрН.ВидРасчета =ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам Тогда
9 Aprobator
 
11.10.12
13:06
код вообще убийственный.
10 Godofsin
 
11.10.12
13:07
(8) да ладно, а мужики то не знали...
11 Aprobator
 
11.10.12
13:07
(8) ну вот, из за тебя человек ничему не научился. И после этого, мы - злые?
12 Deon
 
11.10.12
13:07
(8) А ты ответ в (1) типа не заметил? )
13 1Сергей
 
11.10.12
13:07
(8) баян
14 Deon
 
11.10.12
13:10
Кстати, а нужен ли в этом запросе ЕстьNull() ?
15 vtolga
 
11.10.12
13:10
(12) (1)- не злой :) Действительно не заметила.
16 Aprobator
 
11.10.12
13:15
(14) нет, да и условие в параметры виртуальной таблицы надо кинуть. Проверка на пустоту запроса нужна. Это так - навскидку.
17 IBTM
 
11.10.12
14:04
ступил, извините, оперативно, всем спасибо!
18 IBTM
 
11.10.12
14:08
замечания учту