Имя: Пароль:
1C
1С v8
Непонятная ошибка в КонтрольОстатков()
0 Антон Мак
 
11.07.12
20:06
Иногда при проведении документов в процедуре КонтрольОстатков() возникает такая ошибка:
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{РегистрНакопления.ТоварыОрганизаций(249)}: Преобразование значения к типу Булево не может быть выполнено

Происходит это в строке кода:

       ТекстЗапросаСписокНоменклатуры = "
       |ВЫБРАТЬ РАЗЛИЧНЫЕ
       |    Номенклатура
       |ИЗ
       |    Документ." + ИмяТаблицы +"
       |ГДЕ  Ссылка = &ДокументСсылка
       |    И НЕ Номенклатура.Комплект
       |   И Не Номенклатура.Услуга
       |";

Как видно, преобразование в тип Булево здесь вообще не используется. В чем может быть дело?
1 Amra
 
11.07.12
20:07
И НЕ Номенклатура.Комплект
       |   И Не Номенклатура.Услуга что это по твоему?
2 Антон Мак
 
11.07.12
20:12
(1) Компилятор проверяет текст запроса в момент его выполнения. Это пока обычная строка, даже не запрос, а он на нее уже ругается.
3 Amra
 
11.07.12
20:14
(2) ПРосто не понятно было, думал в момент выполнения запроса
4 Антон Мак
 
11.07.12
20:16
(3) Вот и я не понимаю в чем дело. Ошибка еще и не всегда выскакивает, а только время от времени.
5 AlexNew
 
11.07.12
20:48
(0) У номенклатуры тип в любой из таблиц только номенклатура, составных нет?
6 hhhh
 
11.07.12
21:27
(4) похоже, одна из переменных ТекстЗапросаСписокНоменклатуры или ИмяТаблицы имеют тип Булево.
7 France
 
11.07.12
21:31
между 0 и 2 никто не видит противоречия??
8 AlexNew
 
11.07.12
21:39
(7) Видел, это к вопросу не имеет отношения.
9 AlexNew
 
11.07.12
21:40
(6) Ни фига не похоже.
10 hhhh
 
11.07.12
22:53
(7) да, но похоже (7) прав. Ошибка в 'ОбработкаПроведения'

но

по причине:
{РегистрНакопления.ТоварыОрганизаций(249)}:
11 hhhh
 
11.07.12
22:53
(10) к (9)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн