Несоответствие типов

1. user630160_pmfywk 26.12.16 10:55 Сейчас в теме
подключаю печатную форму в предприятие а он, пишет ошибку
Ошибка при вызове метода контекста (ЧислоПрописью)
ЧислоПрописью = ЧислоПрописью (Выборка.СтавкаРуб, "Л=ru_RU;ДП=Истина;") ;
по причине:
Несоответствие типов (параметр номер '1')
через отладчик смотрю в параметре у меня стоит число, и если открыть печатную форму через просто файл-открыть, открывает нормально. в чем может быть проблема?
+
По теме из базы знаний
Найденные решения
8. корум 287 26.12.16 11:23 Сейчас в теме
(7)
как можно это исправить

Если Выборка.СтавкаРуб = неопределено тогда
чесло = 0;
иначе
чесло = Выборка.СтавкаРуб;
конецесли;
ЧислоПрописью = ЧислоПрописью (чесло, "Л=ru_RU;ДП=Истина;") ;
user630160_pmfywk; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. корум 287 26.12.16 11:02 Сейчас в теме
(1)
Несоответствие типов (параметр номер '1')

Может, не всегда число попадает?
может, NULL, а может, строка иногда...
поставь Сообщить(ТипзначенияСтр(Выборка.СтавкаРуб) и глянь, что выводится перед ошибкой.
user630160_pmfywk; +1
3. alexei366 26.12.16 11:07 Сейчас в теме
(2) Только не "ТипзначенияСтр" а "ТипЗнч" наверное
user630160_pmfywk; +1
4. корум 287 26.12.16 11:09 Сейчас в теме
(3) 7.7 на автомате пишется, сорри ))
user630160_pmfywk; +1
5. user630160_pmfywk 26.12.16 11:13 Сейчас в теме
прописал сообщить типзнч, не помогло вот часть кода
Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ
| ЧасоваяСтавкаПоКлиенту.Период,
| ЧасоваяСтавкаПоКлиенту.Партнер,
| ЧасоваяСтавкаПоКлиенту.СтавкаРуб
|ИЗ
| РегистрСведений.ЧасоваяСтавкаПоКлиенту КАК ЧасоваяСтавкаПоКлиенту
|ГДЕ
| ЧасоваяСтавкаПоКлиенту.Партнер = &Партнер";

Запрос.УстановитьПараметр("Партнер",Договоры.Партнер);


Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

ОбластьПункт2.Параметры.Цена = Выборка.СтавкаРуб;
ЧислоПрописью = ЧислоПрописью (Выборка.СтавкаРуб, "Л=ru_RU;ДП=Истина;") ;
Сообщить(ТипЗнч(Выборка.СтавкаРуб));

ОбластьПункт2.Параметры.ЦенаПрописью = Лев(ЧислоПрописью , СтрДлина(ЧислоПрописью)-6);
+
9. starjevschik 26.12.16 11:24 Сейчас в теме
(5) выборка пустая, вот и ошибка. Правильно так
Если Выборка.Следующий() Тогда
блабла
Иначе
блублу
КонецЕсли;
user630160_pmfywk; +1
10. alexei366 26.12.16 11:28 Сейчас в теме
(5) Ну вопервых "Сообщить(ТипЗнч(Выборка.СтавкаРуб)); " нужно перед числом прописью, а то какой смысл после ошибки ставить. И да, такое ощущение что запрос пустой, в консоле по партнеру его попробуй
user630160_pmfywk; +1
6. корум 287 26.12.16 11:18 Сейчас в теме
(7)
ЧислоПрописью = ЧислоПрописью (Выборка.СтавкаРуб, "Л=ru_RU;ДП=Истина;") ;
Сообщить(ТипЗнч(Выборка.СтавкаРуб));

Сообщить(ТипЗнч(Выборка.СтавкаРуб));//!! сначала СООБЩИТЬ
//и тогда увидишь, какой ТипЗнч перед ошибкой выходит.
ЧислоПрописью = ЧислоПрописью (Выборка.СтавкаРуб, "Л=ru_RU;ДП=Истина;") ;
user630160_pmfywk; +1
7. user630160_pmfywk 26.12.16 11:21 Сейчас в теме
(6) программа пишет не определено, спасибо что подсказали , но не подскажите как можно это исправить?
+
8. корум 287 26.12.16 11:23 Сейчас в теме
(7)
как можно это исправить

Если Выборка.СтавкаРуб = неопределено тогда
чесло = 0;
иначе
чесло = Выборка.СтавкаРуб;
конецесли;
ЧислоПрописью = ЧислоПрописью (чесло, "Л=ru_RU;ДП=Истина;") ;
user630160_pmfywk; +1
11. user630160_pmfywk 26.12.16 11:30 Сейчас в теме
всем большое спасибо спасибо)
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот