Отвечает: BuhCIA
Здравствуйте, Laziz M. Ismailov!
Хорошего пути я не знаю, а длинный путь Вы знаете и сами:
1) создать буфер на одну страницу для формирования двух столбцов типа Перем НеНужнаяПеременная,ЗанятоСтрок, СтрокаПечати[50]; //сколько строк на странице
...
Процедура ПриВводеНового()
ЗанятоСтрок=0;МаксСтрок=50;
2) вместо вывода расчетного листка на печать организовать перенос в массив СтрокаПечати. Например,
Процедура ЗанестиСтроки(Текст)
Если ТипЗначенияСтр(Текст)<>"СписокЗначений" Тогда Возврат;КонецЕсли;
Если ЗанятоСтрок<МаксСтрок Тогда
Если (Текст.КоличествоЗначений()+ЗанятоСтрок>МаксСтрок) и (ЗанятоСтрок>0) Тогда
ЗанятоСтрок=МаксСтрок;
КонецЕсли;
Иначе
Если (Текст.КоличествоЗначений()+ЗанятоСтрок>МаксСтрок*2) и (ЗанятоСтрок>МаксСтрок) Тогда
//вот сюда (ссылку на процедуру) печать всего массива СтрокаПечати[50] на отдельной странице
...
ЗанятоСтрок=0;
КонецЕсли;
КонецЕсли;
Для инд=1 По Текст.КоличествоЗначений() Цикл
Если ЗанятоСтрок<50 Тогда
СтрокаПечати[инд+ЗанятоСтрок]=Лев(Текст.ПолучитьЗначение(инд,НеНужнаяПеременная)+" ",40); //длина половины строки печати
Иначе СтрокаПечати[инд+ЗанятоСтрок]=Лев(СтрокаПечати[инд+ЗанятоСтрок]+Текст.ПолучитьЗначение(инд,НеНужнаяПеременная);
КонецЕсли;
КонецЦикла;
КонецПроцедуры // ЗанестиСтроки(Текст)
3) в конце вышестоящей процедуры, когда сформированы уже все расчетные листки, последний раз (ссылку на процедуру) печать всего массива СтрокаПечати[50] на отдельной странице
Думаю, процедуру печати массива Вы напишете.
--------- Скажите, сколько времени? - (устало, показывая часы) Читайте, там же все написано!
Ответ отправил: BuhCIA (статус: Студент)
Отправлен: 30.01.2006, 13:07 Оценка за ответ: 5