Прошу совета. Попросили в печатной форме налоговой накладной отображать номер свидетельства плательщика ндс (покупателя) "выравниванием" по правому краю.
Вот цикл который присваивает значение параметрам макета;
НомерСвидетельстваКонтрагента = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "НомерСвидетельства,",Ложь);
Если Шапка.ВидОперации = Перечисления.ВидыОперацийНалоговаяНакладная.УсловнаяПродажа
ИЛИ Шапка.ВидОперации = Перечисления.ВидыОперацийНалоговаяНакладная.УсловнаяПродажаСписаниеОС
ИЛИ НЕ ЗначениеЗаполнено(НомерСвидетельстваКонтрагента)
ИЛИ Найти("0123456789",Лев(СокрЛ(НомерСвидетельстваКонтрагента),1)) = 0 Тогда
НомерСвидетельстваКонтрагента = "0000000000";
КонецЕсли;
Для Инд = 1 По 10 Цикл
ОбластьМакета.Параметры["НомерСвидетельстваКонтрагента_"+Инд] = Сред(НомерСвидетельстваКонтрагента, Инд, 1);
КонецЦикла;
Я переделал цикл:
НомерСвидетельстваКонтрагента = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "НомерСвидетельства,",Ложь);
Если Шапка.ВидОперации = Перечисления.ВидыОперацийНалоговаяНакладная.УсловнаяПродажа
ИЛИ Шапка.ВидОперации = Перечисления.ВидыОперацийНалоговаяНакладная.УсловнаяПродажаСписаниеОС
ИЛИ НЕ ЗначениеЗаполнено(НомерСвидетельстваКонтрагента)
ИЛИ Найти("0123456789",Лев(СокрЛ(НомерСвидетельстваКонтрагента),1)) = 0 Тогда
НомерСвидетельстваКонтрагента = "0000000000";
КонецЕсли;
ДлинаНомСвид = СтрДлина(НомерСвидетельстваКонтрагента);
Инд=10;
Пока ДлинаНомСвид <> 0 Цикл
ОбластьМакета.Параметры["НомерСвидетельстваКонтрагента_"+Инд] = Сред(НомерСвидетельстваКонтрагента, ДлинаНомСвид, 1);
ДлинаНомСвид=ДлинаНомСвид-1;
Инд=Инд-1;
КонецЦикла;
Все работает, но мне не нравится, как то "по школьному". Гуру, подскажите, как лучше это сделать