Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 21:04

номер документа с нулями

Автор надюшка, 15 мар 2011, 13:47

0 Пользователей и 1 гость просматривают эту тему.

надюшка

в 1С БП номер документа строка 11 знаков. У меня в обработке пользователь задает значение номер документа, мне нужно впереди добавить нолей до 11 знаков! как сделать??
С каждого по мысле, мне на программу

cska-fanat-kz

В обработчике НомерДокументаПриИзменении проверяйте

Если СтрДлина(НомерДокумента)<11 Тогда...

и слева добавляйте ваши нули.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Klyacksa

А я бы написала так:
СтрокаНулей='0000000000'; // подразумеваем, что хотя бы один символ есть. Но можно и 11 ноликов сделать
НужноНулей=11-СтрДлина(НомерДокумента);
НомерДокумента=Лев(СтрокаНулей,НужноНулей)+НомерДокумента;
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Klyacksa

Ну и, естественно, проверку на то, чтобы номер пользователь не задал из 12 и больше символов - на вас)))
Иначе будут ошибки.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

надюшка

всем спасибо! Работает!
С каждого по мысле, мне на программу

cska-fanat-kz

Вот что вычитал на тему сабжа на оф. сайте 1С:

Необходимо, чтобы из числа 3 получалось 00003, из 356 получалось 00356 и так далее. 

Для этого можно использовать функцию встроенного языка Формат().

Например:
Результат = Формат(ИсходноеЧисло, "ЧЦ=5; ЧВН=; ЧГ=0");

Здесь в форматной строке указано три параметра:
ЧЦ=5 - всего будет отображаться пять знаков (целой и дробной части)
ЧВН= - будут выводиться лидирующие нули
ЧГ=0 - группировка разрядов использоваться не будет

Для составления форматной строки можно использовать конструктор форматной строки.

Подробнее о функции Формат() можно почитать в синтакс-помощнике.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Klyacksa

Кул, только вот это все формат числа, а номер как правило - тип Строка :)
То есть там могут затесаться и буквы (и скорее всего, они там будут). Так что врядли сможем туда-сюда преобразовывать типы Чисор->Строка->Число.

Со строкой Формат() ничего не сможет сделать.

А так, мысль здравая  :ooifh:
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

Спасибо, Klyacksa, за пищу для размышлений и экспериментов ;)

Формат работает если на входе тип Число.
Даже если "2" - уже не сработает...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

dexxxqqq

Здравствуйте. Бьюсь с той же задачей в УТ 10.3 при изменении номера документа РеализацияТоваровУслуг. Как правильно это сделать в неуправляемой форме? ПередЗаписью? "НомерДокументаПриИзменении" у меня не работает.

Muggs

Здравствуйте.
Помогите, пожалуйста разобраться с нумерацией.
Есть номер документа реализации 0045/000225 в печатной форме ТОРГ-12 выводиться 0045/000225
А в счет-фактуре выводиться в печатную форму 45/000225 я разобрался в конфигураторе и мне удалось убрать первые две цифры теперь в печатной форме счет-фактуры выводиться вот такой номер /000225 с дробью в начале номера.
Подскажите как удрать эту дробь чтобы был номер 000225
Заранее, спасибо за помощь.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск