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

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 Сейчас в теме
Оказалось, что беда в функции
ЧислоЦифрамиПредметИсчисленияПрописью

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

Всем огромное спасибо за помощь!
+
Внимание! Тема сдана в архив

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