Автозаполнение шаблонов
По теме из базы знаний
- Автоматическое заполнение шаблонов из дополнительных реквизитов "1С:Документооборот 8".
- Документооборот КОРП. Внедрение функции «Автоматическое заполнение таблиц в шаблоне odt по данным табличной части справочника»
- Работа с автозаполнением шаблонов файлов в документообороте
- Автозаполнение шаблонов файлов MXL в "1С:Документообороте"
- Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0
Найденные решения
1. Через консоль запросов проверить запрос нужно.
2. Поставить точку останова и в режиме отладки посмотреть, как точно пишется путь к требуемым данным.
Попробуйте
2. Поставить точку останова и в режиме отладки посмотреть, как точно пишется путь к требуемым данным.
Попробуйте
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВнутренниеДокументыДополнительныеРеквизиты.Значение
|ИЗ
| Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты
|ГДЕ
| ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &ссылка
| И ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &Свойство";
Запрос.УстановитьПараметр("Свойство", ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.найтипонаименованию("Кількість тонн (АктБФ)")
Запрос.УстановитьПараметр("ссылка", ФактическийВладелецФайла);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() тогда
РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(ВыборкаДетальныеЗаписи.Значение,"тонна,тонны,тонн");
КонецЕсли;
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
В настройке замены, поставьте замену на результат выражение, и попробуйте использовать функцию из общего модуля СтроковыеФункцииКлиентСервер :
// Возвращает текстовое представление числа с единицей измерения в правильном склонении и числе.
//
// Параметры:
// Число - Число - любое целое число.
// ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной,
// для двух и для пяти единиц, разделитель - запятая.
//
// Возвращаемое значение:
// Строка - текстовое представление количества единиц, число записывается цифрами.
//
// Примеры:
// ЧислоЦифрамиПредметИсчисленияПрописью(23, "минуту,минуты,минут") = "23 минуты";
// ЧислоЦифрамиПредметИсчисленияПрописью(15, "минуту,минуты,минут") = "15 минут".
Функция ЧислоЦифрамиПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления) Экспорт
Показать
На вскидку как то так, но нужно проверять/отлаживать.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВнутренниеДокументыДополнительныеРеквизиты.Значение
|ИЗ
| Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты
|ГДЕ
| ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &ссылка
| И ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &Свойство";
Запрос.УстановитьПараметр("Свойство", ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.найтипонаименованию("АктБФ");
Запрос.УстановитьПараметр("ссылка", ФактическийВладелецФайла);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() тогда
РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(ВыборкаДетальныеЗаписи.Значение.КількістьТонн,"тонна,тонны,тонн");
КонецЕсли;
Показать
(6)
Попробовала - ругается. :( А как отлаживать в режиме 1С предприятия?
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВнутренниеДокументыДополнительныеРеквизиты.Значение
|ИЗ
| Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты
|ГДЕ
| ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &ссылка
| И ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &Свойство";
Запрос.УстановитьПараметр("Свойство", ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.найтипонаименованию("АктБФ");
Запрос.УстановитьПараметр("ссылка", ФактическийВладелецФайла);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() тогда
РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(ВыборкаДетальныеЗаписи.Значение.КількістьТонн,"тонна,тонны,тонн");
КонецЕсли;
ПоказатьПопробовала - ругается. :( А как отлаживать в режиме 1С предприятия?
1. Через консоль запросов проверить запрос нужно.
2. Поставить точку останова и в режиме отладки посмотреть, как точно пишется путь к требуемым данным.
Попробуйте
2. Поставить точку останова и в режиме отладки посмотреть, как точно пишется путь к требуемым данным.
Попробуйте
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВнутренниеДокументыДополнительныеРеквизиты.Значение
|ИЗ
| Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты
|ГДЕ
| ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &ссылка
| И ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &Свойство";
Запрос.УстановитьПараметр("Свойство", ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.найтипонаименованию("Кількість тонн (АктБФ)")
Запрос.УстановитьПараметр("ссылка", ФактическийВладелецФайла);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() тогда
РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(ВыборкаДетальныеЗаписи.Значение,"тонна,тонны,тонн");
КонецЕсли;
Показать
(10) и ещё, тоже совсем по мелочи, просто другой вариант:
Хотя вряд ли это что-то изменит..
РЗ=Запрос.Выполнить().Выгрузить();
Для Каждого СтрокаРЗ Из РЗ Цикл
РезультатОбработки = СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью(СтрокаРЗ.Значение,"тонна,тонны,тонн");
КонецЦикла;
Хотя вряд ли это что-то изменит..
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)