Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 5, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Не коректре виведення інформацї в команді          
l2d808 Подменю пользователя
сообщение 21.09.19, 15:15
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 248
Из: Советский Союз
Спасибо сказали: 61 раз
Рейтинг: 73

Доброго часу, шановне товариство.
Користуюст 1с8,3 конфа самописна

Є такий код:
кодНовий=0;
    Пока Выборка.Следующий() Цикл
        кодНовий=кодНовий+1;
        сообщить(Прав((сокрЛП("0000"+кодНовий)),4)+" - "+стрЗаменить(кодНовий," ","")+"   кількість-"+стрДлина(Прав((сокрЛП("0000"+кодНовий)),4)));
    КонецЦикла;


В результаті дії цього коду отримую:
0001 - 1 кількість-4
0002 - 2 кількість-4
0003 - 3 кількість-4
0004 - 4 кількість-4
***
0997 - 997 кількість-4
0998 - 998 кількість-4
0999 - 999 кількість-4
 000 - 1 000 кількість-4
 001 - 1 001 кількість-4
***
 521 - 1 521 кількість-4
522 - 1 522 кількість-4
 523 - 1 523 кількість-4
 524 - 1 524 кількість-4
 525 - 1 525 кількість-4
 
Запитання: чому при значенні кодНовий>999 значення виразу Прав((сокрЛП("0000"+кодНовий)),4) перетворюється на 3 символи, хоче знячення виразу стрДлина(Прав((сокрЛП("0000"+кодНовий)),4))=4

Поясніть в чому тут помилка. Зачасно дякую за Ваші відповіді.


 ! 

Правила: 5
 


Сообщение отредактировал Vofka - 23.09.19, 8:06


Signature
Короеды это не жуки. Это пользователи. Они едят кору головного мозга ...

awp Подменю пользователя
сообщение 21.09.19, 17:57
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 458
Спасибо сказали: 54 раз
Рейтинг: 39.3

l2d808 @ Сегодня, 16:15 * ,

Формат(кодНовий,"ЧГ=")


Сообщение отредактировал awp - 21.09.19, 17:58


Signature
Бухгалтер - это не профессия! Это диагноз!

Спасибо сказали: l2d808,

Prospero Подменю пользователя
сообщение 21.09.19, 20:46
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 62
Из: Киев
Спасибо сказали: 14 раз
Рейтинг: 14

l2d808 @ Сегодня, 16:15 * ,

Роздільник розрядів числа - це не зовсім пробіл - це нерозривний пробіл з кодом 160, якщо хочете його прибирати через стрЗаменить - використовуйте другим параметром або Символ(160) або Символы.НПП, або ж застосовуйте попереднє форматування числа за допомогою приклада від AWP

awp Подменю пользователя
сообщение 21.09.19, 21:23
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 458
Спасибо сказали: 54 раз
Рейтинг: 39.3

нашел функцию у себя :
функция прКод(Код)
    Возврат СтрЗаменить(СтрЗаменить(Код," ",""),Символы.НПП,"");
КонецФункции


Формат, вроде не сработает.


Signature
Бухгалтер - это не профессия! Это диагноз!

Prospero Подменю пользователя
сообщение 22.09.19, 14:21
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 62
Из: Киев
Спасибо сказали: 14 раз
Рейтинг: 14

Цитата(awp @ 21.09.19, 22:23) *
Формат, вроде не сработает.

Да должен вроде...
Сообщить(Прав((сокрЛП("0000"+Формат(кодНовий,"ЧГ=0"))),4)+" - "+кодНовий+"   кількість-"+стрДлина(Прав((сокрЛП("0000"+кодНовий)),4)));

0998 - 998   кількість-4
0999 - 999   кількість-4
1000 - 1 000   кількість-4
1001 - 1 001   кількість-4

Не знаю, так ТС-у нужно или нет

Petre Подменю пользователя
сообщение 23.09.19, 9:16
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2649
Из: Київ, Україна
Спасибо сказали: 738 раз
Рейтинг: 716.6

QUOTE (l2d808 @ 21.09.19, 15:15) *
Поясніть в чому тут помилка.

Типове перетворення значення типу Число у тип Рядок відбувається із локалізованим форматуванням (у прикладі - із додаванням пробілу як роздільника розрядів).


Signature
Допрацьовую:
- "Бухгалтерія для України 2.0";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

l2d808 Подменю пользователя
сообщение 23.09.19, 9:49
Сообщение #7

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 248
Из: Советский Союз
Спасибо сказали: 61 раз
Рейтинг: 73

Товариство, дякую за допомогу.
Вийшов з ситуації таким чином.
кон=Формат(нач,"ЧГ=100");


Signature
Короеды это не жуки. Это пользователи. Они едят кору головного мозга ...

Макс1С Подменю пользователя
сообщение 23.09.19, 13:50
Сообщение #8

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 122
Из: Днепр
Спасибо сказали: 41 раз
Рейтинг: 39

l2d808 @ Сегодня, 10:49 * ,

Лучше напишите

кон=Формат(нач,"ЧГ=0");


вряд-ли будет число больше 100 разрядов, но таким образом вы просто выключите разбиение числа на группы

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.12.19, 5:22
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!