Имя: Пароль:
1C
1С v8
Ошибка при вызове метода контекста (ЧислоПрописью): Несоответствие типов (параме
0 Смертник
 
24.04.13
10:47
ВЫБРАТЬ
   ЗаказыПоставщикамОстатки.Цена,
   ЗаказыПоставщикамОстатки.Номенклатура,
   ру_УсловияДоговораГрузоотправителиГрузополучатели.Грузополучатель КАК Грузополучатель,
   ру_УсловияДоговораГрузоотправителиГрузополучатели.Ссылка.УсловияПоставки КАК УсловияПоставки,
   ру_УсловияДоговораГрузоотправителиГрузополучатели.Ссылка.ЧерезФилиал,
   ру_УсловияДоговораГрузоотправителиГрузополучатели.Ссылка.ЧислоДней КАК ЧислоДней,
   ру_УсловияПоставки.СпособДоставки КАК СпособПоставки,
   ЗаказыПоставщикамОстатки.КоличествоОстаток КАК Количество,
   ЗаказыПоставщикамОстатки.СуммаВзаиморасчетовОстаток КАК Сумма,
   ЗаказыПоставщикамОстатки.СтавкаНДС,
   ЗаказыПоставщикамОстатки.ЗаказПоставщику.УчитыватьНДС КАК УчитыватьНДС,
   ЗаказыПоставщикамОстатки.СуммаВзаиморасчетовОстаток - ЗаказыПоставщикамОстатки.КоличествоОстаток * ЗаказыПоставщикамОстатки.Цена КАК СуммаНДС,
   ру_УсловияДоговораГрузоотправителиГрузополучатели.Ссылка.ЧерезФилиал.Ссылка КАК Покупатель,
   ру_УсловияДоговораГрузоотправителиГрузополучатели.Ссылка.ЧерезФилиал.НаименованиеПолное КАК НаименованиеПолное,
   ру_УсловияПоставки.СрокПоставки,
   бит_ЦФО_Организаций.Организация КАК Организация,
   ру_УсловияПоставки.ФормаПриложенияКДоговору КАК ФормаПриложенияКДоговору,
   ру_УсловияДоговораГрузоотправителиГрузополучатели.Ссылка.ФормулировкаУсловийПоставки
ИЗ
   РегистрНакопления.ЗаказыПоставщикам.Остатки(, ЗаказПоставщику = &ТекущийДокумент) КАК ЗаказыПоставщикамОстатки
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ру_УсловияДоговора.ГрузоотправителиГрузополучатели КАК ру_УсловияДоговораГрузоотправителиГрузополучатели
           ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ру_УсловияПоставки КАК ру_УсловияПоставки
           ПО ру_УсловияДоговораГрузоотправителиГрузополучатели.Ссылка.УсловияПоставки = ру_УсловияПоставки.Ссылка
       ПО ЗаказыПоставщикамОстатки.ДоговорКонтрагента = ру_УсловияДоговораГрузоотправителиГрузополучатели.Ссылка.Владелец
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.бит_ЦФО_Организаций КАК бит_ЦФО_Организаций
       ПО ЗаказыПоставщикамОстатки.ЗаказПоставщику.Подразделение = бит_ЦФО_Организаций.ЦФО

При выполнении этого запроса в Консоли запросов все выдается хорошо, но при следущем условиях выхзывается ошибка которая в заголовке темы написана

Если ЗапросМТС[0].УсловияПоставки = Справочники.ру_УсловияДоговора.ПустаяСсылка() Тогда
       ОбластьМакета = Макет.ПолучитьОбласть("П41");
       Если ЗапросМТС[0].ЧислоДней = 0 И ЗапросМТС[0].ЧислоДней = Неопределено Тогда
           Сообщить("Не заполнен реквизит Число дней элемента справочника Обязательства по оплате ");
           ОбластьМакета.Параметры.ЧислоДней = "";
           ОбластьМакета.Параметры.ЧислоДнейПрописью = "";
       Иначе
           ОбластьМакета.Параметры.ЧислоДней = ЗапросМТС[0].ЧислоДней;
           ОбластьМакета.Параметры.ЧислоДнейПрописью = ЧислоПрописью(ЗапросМТС[0].ЧислоДней, "", "");
       КонецЕсли;
       ТабДокумент.Вывести(ОбластьМакета);
       ОбластьМакета = Макет.ПолучитьОбласть("П42");
       ТабДокумент.Вывести(ОбластьМакета);
   Иначе
       ОбластьМакета = Макет.ПолучитьОбласть("П41");
       Если ЗапросМТС[0].ЧислоДней = 0 Тогда
           Сообщить("Не заполнен реквизит Число дней элемента справочника Обязательства по оплате ");
           ОбластьМакета.Параметры.ЧислоДней = "";
           ОбластьМакета.Параметры.ЧислоДнейПрописью = "";
       Иначе
           ОбластьМакета.Параметры.ЧислоДней = ЗапросМТС[0].ЧислоДней;
           ОбластьМакета.Параметры.ЧислоДнейПрописью = ЧислоПрописью(ЗапросМТС[0].ЧислоДней, ,);
       КонецЕсли;
       ТабДокумент.Вывести(ОбластьМакета);
   КонецЕсли;
1 Смертник
 
24.04.13
10:48
Ошибка возникает при попадании вот в это условие
Если ЗапросМТС[0].УсловияПоставки = Справочники.ру_УсловияДоговора.ПустаяСсылка() Тогда
2 qeos
 
24.04.13
10:49
разрешаю
3 Смертник
 
24.04.13
10:49
кого разрешаешь?
4 Галахад
 
гуру
24.04.13
10:51
ЧислоПрописью(ЗапросМТС[0].ЧислоДней)
5 Defender aka LINN
 
24.04.13
10:52
ЧислоПрописью(самолет) чему должно быть равно?
6 qeos
 
24.04.13
10:52
(3) я хз.. у тебя описание ошибки отчетливо все сказано.. значение где ты получаешь ЧислоПрописью не является числом..
7 Смертник
 
24.04.13
10:53
так сам тип у ЧислоДней - Число
8 qeos
 
24.04.13
10:53
ну или чтото типо того...
а так-то да.. прибор-12
9 qeos
 
24.04.13
10:53
подсказываю: смотри в отладчике
10 hhhh
 
24.04.13
10:54
(7) бредишь? Число у тебя, если есть условие договора.
11 Defender aka LINN
 
24.04.13
10:54
(7) Врешь
12 Смертник
 
24.04.13
10:56
Число у меня в любом случае - у него Типа другого нет
13 cw014
 
24.04.13
10:56
А ошибка возникает наверное потому что ЗапросМТС[0].ЧислоДней равен NULL
14 cw014
 
24.04.13
10:56
(12) Уверен? NULL? Не, не слышал
15 Defender aka LINN
 
24.04.13
10:56
(12) ВРЕШЬ
16 Wobland
 
24.04.13
10:57
(13) является нуллом ;)
17 cw014
 
24.04.13
10:58
(16) Это он в запросе является NULLом, а в коде 1С он равен NULL ))))
18 Defender aka LINN
 
24.04.13
11:00
(17) Кстати да. Тонкая разница :)
19 Смертник
 
24.04.13
11:02
ЗапросМТС[0].ЧислоДней =  NULL ничего не поменялось
20 qeos
 
24.04.13
11:04
21 Смертник
 
24.04.13
11:04
Если ЗапросМТС.ЧислоДней = 0 И ЗапросМТС.ЧислоДней = NULL Тогда
           Сообщить("Не заполнен реквизит Число дней элемента справочника Обязательства по оплате ");
           ОбластьМакета.Параметры.ЧислоДней = "";
           ОбластьМакета.Параметры.ЧислоДнейПрописью = "";
Он должен попадать сюда и никуда ниже не идти
22 Галахад
 
гуру
24.04.13
11:04
В (0) "параме" там цифра, наверное есть?
23 Defender aka LINN
 
24.04.13
11:05
(19) рукалицо...
24 Смертник
 
24.04.13
11:09
если консолью выводить то выводит 0
25 hhhh
 
24.04.13
11:11
(24) вот это полный бред. С утру выпил ты что ли?

Если ЗапросМТС.ЧислоДней = 0 И ЗапросМТС.ЧислоДней = NULL Тогда
26 hhhh
 
24.04.13
11:12
как может поле одновременно быть и NULL и 0?
27 НЕА123
 
24.04.13
11:13
(26) это квантовая теория.
28 GROOVY
 
24.04.13
11:14
Да запихни все в Попытка Исключение и делов!
;)
29 cw014
 
24.04.13
11:21
(27) Нет, это теория струн )))

(21) "Слышь ты, барашка..." (С) День выборов
В запросе явно укажи что:

ЕСТЬNULL(ру_УсловияДоговораГрузоотправителиГрузополучатели.Ссылка.ЧислоДней,0) КАК ЧислоДней,
30 Смертник
 
24.04.13
11:27
Справочники.ру_УсловияДоговора.ПустаяСсылка() а на что еще можно проверять ссылку?
31 cw014
 
24.04.13
11:31
Все, я спекся после (30) сообщения. Пойду валерьянки попью
32 qeos
 
24.04.13
11:33
(28)

Процедура ПриНачалеРаботыСистемы()
  Попытка
КонецПроцедуры

Процедура ПриЗавершенииРаботыСистемы()
  Исключение
     // все ок
  КонецПопытки;
КонецПроцедуры
33 hhhh
 
24.04.13
11:33
(30) ну сам же знаешь

Если ЗапросМТС[0].УсловияПоставки = Справочники.ру_УсловияДоговора.ПустаяСсылка() И ЗапросМТС[0].УсловияПоставки = NULL Тогда
34 hhhh
 
24.04.13
11:35
(33)+ но всё-таки почитай про теорию струн
35 cw014
 
24.04.13
11:35
(33) ЭТО ЧТО?????
36 hhhh
 
24.04.13
11:38
(35) ну, симбиоз (1) и (21).
37 Смертник
 
24.04.13
11:41
Все сделал - сам в одном случае напортачил, а в другом ссылку не на тот справочник проверял. Спасибо - повод выпить есть)
Основная теорема систематики: Новые системы плодят новые проблемы.