Автозаполнение шаблонов

1. user599343_niktesla367 14.12.16 15:32 Сейчас в теме
Всем добрый день!

Подскажите, пожалуйста, как заполнить в печатной форме поля чисел прописью прям в разделе Правила Автозаполнения шаблонов файлов?

То есть, есть у меня поле Цена - 380, 76. Нужно чтобы в печатной форме вывело это прописью.

Заранее всем спасибо!
По теме из базы знаний
Найденные решения
9. le0nid 15.12.16 11:50 Сейчас в теме
1. Через консоль запросов проверить запрос нужно.
2. Поставить точку останова и в режиме отладки посмотреть, как точно пишется путь к требуемым данным.

Попробуйте

Запрос = Новый Запрос; 
Запрос.Текст = 
"ВЫБРАТЬ 
| ВнутренниеДокументыДополнительныеРеквизиты.Значение 
|ИЗ 
| Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты 
|ГДЕ 
| ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &ссылка 
| И ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &Свойство"; 

Запрос.УстановитьПараметр("Свойство", ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.найтипонаименованию("Кількість тонн (АктБФ)") 
Запрос.УстановитьПараметр("ссылка", ФактическийВладелецФайла); 

РезультатЗапроса = Запрос.Выполнить(); 

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

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

РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(ВыборкаДетальныеЗаписи.Значение,"тонна,тонны,тонн"); 

КонецЕсли;
Показать
user599343_niktesla367; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. le0nid 14.12.16 15:40 Сейчас в теме
В настройке замены, поставьте замену на результат выражение, и попробуйте использовать функцию из общего модуля СтроковыеФункцииКлиентСервер :
// Возвращает текстовое представление числа с единицей измерения в правильном склонении и числе.
//
// Параметры:
//  Число                       - Число  - любое целое число.
//	ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной,
//										   для двух и для пяти единиц, разделитель - запятая.
//
// Возвращаемое значение:
//  Строка - текстовое представление количества единиц, число записывается цифрами.
//
// Примеры:
//  ЧислоЦифрамиПредметИсчисленияПрописью(23,  "минуту,минуты,минут") = "23 минуты";
// 	ЧислоЦифрамиПредметИсчисленияПрописью(15,  "минуту,минуты,минут") = "15 минут".
Функция ЧислоЦифрамиПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления) Экспорт
Показать


user599343_niktesla367; +1 Ответить
3. user599343_niktesla367 14.12.16 16:01 Сейчас в теме
(2)
В настройке замены, поставьте замену на результат выражение, и попробуйте использовать функцию из общего модуля СтроковыеФункцииКлиентСервер :


Спасибо больше за ответ!

Простите, а настройки замены - это где?:)
4. le0nid 14.12.16 16:49 Сейчас в теме
(3)

Примерный код такой:


РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(ФактическийВладелецФайла.Цена,",,,");

user599343_niktesla367; +1 Ответить
5. user599343_niktesla367 15.12.16 10:29 Сейчас в теме
(4) Ещё раз простите за мою глупость, но у меня доп реквизит имеет вид
{ВладелецФайла|Ссылка|ДопРеквизиты|АктБФ|Кількість тонн (АктБФ)}

Как правильно записать в функции?
ВладелецФайла.Ссылка.ДопРеквизиты.АктБФ.КількістьТонн?
6. le0nid 15.12.16 10:49 Сейчас в теме
На вскидку как то так, но нужно проверять/отлаживать.

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

КонецЕсли;	
Показать
user599343_niktesla367; +1 Ответить
7. user599343_niktesla367 15.12.16 11:32 Сейчас в теме
(6)
Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ВнутренниеДокументыДополнительныеРеквизиты.Значение
        |ИЗ
        |    Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты
        |ГДЕ
        |    ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &ссылка
        |    И ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &Свойство";
    
    Запрос.УстановитьПараметр("Свойство", ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.найтипонаименованию("АктБФ");
    Запрос.УстановитьПараметр("ссылка", ФактическийВладелецФайла);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Если ВыборкаДетальныеЗаписи.Следующий() тогда
    
РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(ВыборкаДетальныеЗаписи.Значение.КількістьТонн,"тонна,тонны,тонн");

КонецЕсли;
Показать

Попробовала - ругается. :( А как отлаживать в режиме 1С предприятия?
8. user599343_niktesla367 15.12.16 11:37 Сейчас в теме
ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.найтипонаименованию("АктБФ");

Вот тут точно так? Я зашла в ПланВидовХарактеристик и реквизиты все записываются в виде
Кількість тонн (АктБФ)
9. le0nid 15.12.16 11:50 Сейчас в теме
1. Через консоль запросов проверить запрос нужно.
2. Поставить точку останова и в режиме отладки посмотреть, как точно пишется путь к требуемым данным.

Попробуйте

Запрос = Новый Запрос; 
Запрос.Текст = 
"ВЫБРАТЬ 
| ВнутренниеДокументыДополнительныеРеквизиты.Значение 
|ИЗ 
| Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты 
|ГДЕ 
| ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &ссылка 
| И ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &Свойство"; 

Запрос.УстановитьПараметр("Свойство", ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.найтипонаименованию("Кількість тонн (АктБФ)") 
Запрос.УстановитьПараметр("ссылка", ФактическийВладелецФайла); 

РезультатЗапроса = Запрос.Выполнить(); 

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

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

РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(ВыборкаДетальныеЗаписи.Значение,"тонна,тонны,тонн"); 

КонецЕсли;
Показать
user599343_niktesla367; +1 Ответить
10. user599343_niktesla367 15.12.16 12:18 Сейчас в теме
(9)
Поставить точку останова и в режиме отладки посмотреть, как точно пишется путь к требуемым данным.



Попробовала код - ошибку не выдает, но не выводит на форму ничего. :(
11. valkovsky 19.12.16 08:27 Сейчас в теме
(10), попробуйте примерно такую замену:
Запрос.УстановитьПараметр("ссылка", Файл.ВладелецФайла);
user599343_niktesla367; +1 Ответить
12. valkovsky 19.12.16 08:44 Сейчас в теме
(10) и ещё, тоже совсем по мелочи, просто другой вариант:
РЗ=Запрос.Выполнить().Выгрузить();
Для Каждого СтрокаРЗ Из РЗ Цикл
    РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(СтрокаРЗ.Значение,"тонна,тонны,тонн");
КонецЦикла;


Хотя вряд ли это что-то изменит..
user599343_niktesla367; +1 Ответить
13. user599343_niktesla367 20.12.16 12:48 Сейчас в теме
Оказалось, что беда в функции
ЧислоЦифрамиПредметИсчисленияПрописью

Я её заменила на ЧислоПрописью - и всё заработало!:)

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

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

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

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

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)