|
СтрокаСЧислом - не отображает число 0 | ☑ | ||
---|---|---|---|---|
0
Sasha_H
15.05.21
✎
13:07
|
СП - гласит:
<ИсходнаяСтрока> (обязательный) Тип: Строка. Строка, содержит перечисленные через точку с запятой 6 форм строки для каждой категории числительного: %1 обозначает позицию числа, порядок категорий - по возрастанию: Ноль, Один, Два, Немного, Много, Другое. СтрокаСЧислом("Выгружено0: %1 элементов;Выгружен1: %1 элемент;Выгружен2: %1 элемент;Выгружено3: %1 элемента;Выгружено4: %1 элементов;Выгружен5: %1 элемент", 0, ВидЧисловогоЗначения.Количественное) Специально пронумеровал позиции Выгружено0 и т.д., чтобы для отладки понять какой уровень выполнился: Выгружено4: элементов Собствено "пробел" вместо числового 0, подскажите. что я сделал не так. Спасибо. |
|||
1
Sasha_H
15.05.21
✎
13:09
|
Из зазеркалья:
Реализовано в версии 8.3.10.2168. Мы добавили в платформу поддержку строк, требующих согласования с числительными. Теперь вы можете формировать строки вида «время выполнения 32 секунды» и «время выполнения 65 секунд» автоматически, не анализируя числительное для того, чтобы использовать правильную форму существительного. Для этого мы добавили в платформу новый метод СтрокаСЧислом(). Принцип его работы основан на том, что любое числительное в любом языке можно отнести к одной из шести категорий: ZERO – ноль; ONE – один; TWO – два; FEW – немного; MANY – много; OTHER - другое. https://wonderland.v8.1c.ru/blog/podderzhka-strok-trebuyushchikh-soglasovaniya-s-chislitelnymi/ |
|||
2
Sasha_H
15.05.21
✎
13:11
|
Используется
1С:Предприятие 8.3 (8.3.18.1363) |
|||
3
Sasha_H
15.05.21
✎
13:20
|
По ходу это бага. 0
из СП: дней: для целых чисел, оканчивающихся на 0, для целых чисел, оканчивающихся на 5..9, для целых чисел, оканчивающихся на 11..14; Тоесть выполняется категория "Выгружено4" , а сам 0 они какого-то "Х" решили не выводить. |
|||
4
RomanYS
15.05.21
✎
13:46
|
(3) у нуля пустое представление по умолчанию, поэтому баг или фича - неочевидно.
Пропиши в самом шаблоне "Выгружено0: 0 элементов" и не парься |
|||
5
Sasha_H
15.05.21
✎
13:53
|
(4) так он не попадает в шаблон Выгружено0, а выполняет шаблон Выгружено4 - тоесть Много. из СП пример:
"; день; ; дня; дней; дня": день – для целых чисел, оканчивающихся на 1, но не оканчивающихся на 11; дня – для целых чисел, оканчивающихся на 2..4, но не оканчивающихся на 12..14; дней: для целых чисел, оканчивающихся на 0, для целых чисел, оканчивающихся на 5..9, для целых чисел, оканчивающихся на 11..14; дня – для чисел, не подходящих под предыдущие правила. То есть срабатывает "для целых чисел, оканчивающихся на 0,". Ноль заканчивается на 0, но он не выводится вообще. баг/фича неизвестно, по моему баг, поскольку 0 - это число! |
|||
6
RomanYS
15.05.21
✎
14:05
|
(5) Короче точно не баг. Есть четвертый параметр, поставь туда "ЧН=". Без него представление 0 это пустая строка, абсолютно ожидаемо
|
|||
7
Sasha_H
15.05.21
✎
14:12
|
(6) пробовал.
https://ibb.co/Syms6q2 |
|||
8
Sasha_H
15.05.21
✎
14:15
|
(6) ну вот, натупил
СтрокаСЧислом("Выгружено0: %1 элементов;Выгружен: %1 элемент;;Выгружено: %1 элемента;Выгружено: %1 элементов;Выгружен: %1 элемент", 0, ВидЧисловогоЗначения.Количественное, "ЧН=0; ЧГ=") формат не верно применял. Спасибо. |
|||
9
RomanYS
15.05.21
✎
14:15
|
(7) эээ... Зачем "Формат(..", просто форматную строку
|
|||
10
Sasha_H
15.05.21
✎
14:19
|
(9) да уже ошибку увидел, спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |