1. user630160_pmfywk 26.12.16 10:55 Сейчас в теме

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

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

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

Может, не всегда число попадает?
может, NULL, а может, строка иногда...
поставь Сообщить(ТипзначенияСтр(Выборка.СтавкаРуб) и глянь, что выводится перед ошибкой.
user630160_pmfywk; +1 Ответить
3. alexei366 26.12.16 11:07 Сейчас в теме
(2) Только не "ТипзначенияСтр" а "ТипЗнч" наверное
user630160_pmfywk; +1 Ответить
4. корум 311 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. корум 311 26.12.16 11:18 Сейчас в теме
(7)
ЧислоПрописью = ЧислоПрописью (Выборка.СтавкаРуб, "Л=ru_RU;ДП=Истина;") ;
Сообщить(ТипЗнч(Выборка.СтавкаРуб));

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

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

Вакансии

Программист 1С
Москва
зарплата от 80 000 руб.
Полный день

Senior 1C Developer ЛЮБОЙ ГОРОД
Москва
зарплата от 80 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата от 120 000 руб. до 120 000 руб.
Полный день

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 120 000 руб.
По совместительству