Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 ноя 2024, 13:58

Число прописью

Автор gliokker, 18 сен 2013, 08:59

0 Пользователей и 1 гость просматривают эту тему.

gliokker

Всем привет вот кусок модуля
Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ПриемНаРаботуВОрганизацию.Дата,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник.НомерДоговора КАК НомерДоговора,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник,
   |   ГражданствоФизЛиц.Страна,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Должность,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник.ВидЗанятости КАК ВидЗанятости,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник.ИспытательныйСрок КАК ИспытательныйСрок,
   |   ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1
   |ИЗ
   |   Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизациюРаботникиОрганизации
   |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботуВОрганизацию КАК ПриемНаРаботуВОрганизацию
   |      ПО ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка = ПриемНаРаботуВОрганизацию.Ссылка,
   |   РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц,
   |   Документ.ПриемНаРаботуВОрганизацию.ОсновныеНачисления КАК ПриемНаРаботуВОрганизациюОсновныеНачисления
   |ГДЕ
   |   ПриемНаРаботуВОрганизацию.Ссылка = &ТекущийДокумент";
   
   Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
   
   Выборка = Запрос.Выполнить().Выбрать();
   Выборка.Следующий();   
   ТабДокумент = Новый ТабличныйДокумент;
   Макет = ПолучитьМакет("Макет");
   ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
   
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="рубль ,рубля ,рублей ,м,копейка,копейки,копеек,ж,2";  //ПрописьЧисла
Показатель1 = ЧислоПрописью(ФормСтрока, ПарПредмета);

   ОбластьМакета.Параметры.Заполнить(Выборка);
   ТабДокумент.Вывести(ОбластьМакета);
Я хочу чтоб в печатной форме параметр Показатель1 (число) выводилось прописью.Что я неправельно делаю? программа выдаёт ошибку
Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (ЧислоПрописью): Несоответствие типов (параметр номер '1')

JoeButcher

Первым параметром идет само число
ЧислоПрописью(Показатель1,ФормСтрока, ПарПредмета);

gliokker

Цитата: JoeButcher от 18 сен 2013, 09:01
Первым параметром идет само число
ЧислоПрописью(Показатель1,ФормСтрока, ПарПредмета);
Таже самая ошибка.

JoeButcher

Цитата: gliokker от 18 сен 2013, 09:09
Цитата: JoeButcher от 18 сен 2013, 09:01
Первым параметром идет само число
ЧислоПрописью(Показатель1,ФормСтрока, ПарПредмета);
Таже самая ошибка.
А Показатель1, возвращаемый из запроса, это точно число?

gliokker

Цитата: JoeButcher от 18 сен 2013, 09:13
Цитата: gliokker от 18 сен 2013, 09:09
Цитата: JoeButcher от 18 сен 2013, 09:01
Первым параметром идет само число
ЧислоПрописью(Показатель1,ФормСтрока, ПарПредмета);
Таже самая ошибка.
А Показатель1, возвращаемый из запроса, это точно число?
Точно число

JoeButcher

Цитировать
Точно число
А какое значение в нем лежит после выполнения запроса?

gliokker

Цитата: JoeButcher от 18 сен 2013, 09:18
Цитировать
Точно число
А какое значение в нем лежит после выполнения запроса?
Всё там нормально число 5 000 выводит в печатную форму,а вот прописью не выводит.Можа нужно этот параметр сперва записать потом выводить? Я ставил и чтоб пробелы невидел
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="рубль ,рубля ,рублей ,м,копейка,копейки,копеек,ж,2";//ПрописьЧисла
Показатель1    = ЧислоПрописью (Формат(Показатель1, "ЧГ = 0"), ФормСтрока, ПарПредмета);
всё равно не выводит прописью.

Dethmontt

Показатель1 = ЧислоПрописью(Выборка.Показатель1,ФормСтрока, ПарПредмета);
ОбластьМакета.Параметры.Заполнить(Выборка);
ОбластьМакета.Параметры.Показатель1 = Показатель1;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

JoeButcher

Цитата: Dethmontt от 18 сен 2013, 10:05
Показатель1 = ЧислоПрописью(Выборка.Показатель1,ФормСтрока, ПарПредмета);
ОбластьМакета.Параметры.Заполнить(Выборка);
ОбластьМакета.Параметры.Показатель1 = Показатель1;

Хах, ну так-то да :D

gliokker

Цитата: Dethmontt от 18 сен 2013, 10:05
Показатель1 = ЧислоПрописью(Выборка.Показатель1,ФормСтрока, ПарПредмета);
ОбластьМакета.Параметры.Заполнить(Выборка);
ОбластьМакета.Параметры.Показатель1 = Показатель1;

Вот что получилось
      
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ПриемНаРаботуВОрганизацию.Дата,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник.НомерДоговора КАК НомерДоговора,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник,
   |   ГражданствоФизЛиц.Страна,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Должность,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник.ВидЗанятости КАК ВидЗанятости,
   |   ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник.ИспытательныйСрок КАК ИспытательныйСрок,
   |   ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1
   |ИЗ
   |   Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизациюРаботникиОрганизации
   |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботуВОрганизацию КАК ПриемНаРаботуВОрганизацию
   |      ПО ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка = ПриемНаРаботуВОрганизацию.Ссылка,
   |   РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц,
   |   Документ.ПриемНаРаботуВОрганизацию.ОсновныеНачисления КАК ПриемНаРаботуВОрганизациюОсновныеНачисления
   |ГДЕ
   |   ПриемНаРаботуВОрганизацию.Ссылка = &ТекущийДокумент";
   
   Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
   Выборка = Запрос.Выполнить().Выбрать();
   Выборка.Следующий();   
   

   ТабДокумент = Новый ТабличныйДокумент;
   Макет = ПолучитьМакет("Макет");
   ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
   
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="рубль ,рубля ,рублей ,м,копейка,копейки,копеек,ж,2";//ПрописьЧисла
Показатель1 = ЧислоПрописью(Выборка.Показатель1,ФормСтрока, ПарПредмета);
ОбластьМакета.Параметры.Заполнить(Выборка);
ОбластьМакета.Параметры.Показатель1 = Показатель1;
ТабДокумент.Вывести(ОбластьМакета);

а вот что выдаёт
Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (Показатель1)
сразу откину вопросы,да параметр есть на макете,в запросе тоже есть, Показатель1 тип число.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск