Получить номер на печать очень просто, достаточно вызвать процедуру из общего модуля
Для современных конфигураций под управляемые формы работающих на БСП (УТ 11, БП 3, УНФ и т.д. ), это делается так:
НомерНаПечать = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(НомерДокумента, Истина, Истина);
Описание процедуры:
Для конфигураций (УТ 10.3, БП 2.0) на обычных формах, эта процедура имеет следующий вид:
Номер = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект);
Для Альфа — Авто 5
Номер = дкПолучитьНомерДляПечати(ЭтотОбъект);
где ЭтотОбъект ДокументОбъект или ДокументСсылка — документ, для которого нужно получить номер
Своя функция
Пример 1
// Функция - Возвращает номер без лидирующих нулей // // Параметры: // Номер - Строка - Исходный номер документа // Префикс - Строка - Префикс, который нужно удалить // ДобавитьПрефикс - Булево - Добавляет префикс в результат // // Возвращаемое значение: // Строка - номер без нулей // Функция ПолучитьНомерДляПечати(Номер, Префикс, ДобавитьПрефикс = Ложь) НомерДляПечати = СтрЗаменить(Номер,СокрЛП(Префикс),""); Пока Лев(НомерДляПечати,1) = "0" Цикл НомерДляПечати = Сред(НомерДляПечати,2); КонецЦикла; НомерДляПечати = "" + ?(ДобавитьПрефикс,СокрЛП(Префикс), "") + НомерДляПечати; Возврат НомерДляПечати; КонецФункции
Пример 2
Функция ПолучитьНомерДляПечати(Док) Экспорт НомерПолный = СокрЛП(Док.Номер); //Ищем первую цифру в номере НачалоНомера = "123456789"; Для Индекс = 1 По СтрДлина(НомерПолный) Цикл Символ = Сред(НомерПолный, Индекс, 1); Если СтрНайти(НачалоНомера, Символ) > 0 Тогда Возврат Сред(НомерПолный, Индекс); КонецЕсли; КонецЦикла; Возврат НомерПолный; КонецФункции // ПолучитьНомерДляПечати()