|
тонкий клиент и Excel | ☑ | ||
---|---|---|---|---|
0
Alever
18.07.13
✎
13:19
|
Доброго времени суток всем. Есть такая задача:
|
|||
1
Ork
18.07.13
✎
13:20
|
Емко.
|
|||
2
Alever
18.07.13
✎
13:25
|
Есть файлик екселя, в котором данные представлены в строковом виде, есть обработка, которая содержит в себе Макет. Необходио реализовать загрузку и вывод на экран печатной формы каждой строки этого файлика в форме этого макета. То есть берем одно строку, разбираем ее и помещаем данные в макет и все это выводим на экран. Все бы ничего - задачка простая, но связано это с Веб-киентом - Загрузку файлика осуществляем на стороне клиента а вот как дальше быть?
Вот код: &НаКлиенте Процедура Загрузить(Команда) НомерЛиста =1; Колонка = 1; Эксель = Новый COMОбъект("Excel.Application"); Эксель.Visible = 0; Книга = Эксель.WorkBooks.Open(ПутьКФайлу); Лист = Книга.WorkSheets(НомерЛиста); ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column; Если Объект.СтрокаДоКоторойЗагружать = 999 Тогда ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; Иначе ВсегоСтрок = Объект.СтрокаДоКоторойЗагружать; КонецЕсли; ТабДокумент = Новый ТабличныйДокумент(); ТабДокумент = ПолучитьМакетНаСервере(); Для Строка = Объект.СтрокаСКоторойЗагружать по ВсегоСтрок Цикл // //ТабДокумент.Вывести(ТабДокумент.ОбластьПробела); // //Ячейка = СокрЛП(Лист.Cells(Строка,Колонка).Value); // НоваяСтрока.НомерПП = СокрЛП(Лист.Cells(Строка,Колонка).Value); // НоваяСтрока.ФИОПолучателя = СокрЛП(Лист.Cells(Строка,Колонка+1).Value); // //ИндексОПС = СокрЛП(Лист.Cells(Строка,Колонка+2).Value); // //АдресМестаНазначения = СокрЛП(Лист.Cells(Строка,Колонка+3).Value); // //НомерШПИ = СокрЛП(Лист.Cells(Строка,Колонка+4).Value); // //СуммаПрописью = СокрЛП(Лист.Cells(Строка,Колонка+6).Value); // // // //ТабДокумент.ОбластьМакета.Параметры.ФИОПолучателя = ФИОПолучателя; // //ТабДокумент.ОбластьМакета.Параметры.ИндексОПС = ИндексОПС; // //ТабДокумент.ОбластьМакета.Параметры.АдресМестаНазначения = АдресМестаНазначения; // //ТабДокумент.ОбластьМакета.Параметры.НомерШПИ = НомерШПИ; // //ТабДокумент.ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(СуммаПрописью, "L=ru_RU");//, ПараметрПрописиНаКазахском);//ЧислоПрописью(СуммаПрописью, "L=kk_KZ", ПараметрПрописиНаКазахском); // // // // //ТабДокумент.Вывести(ТабДокумент.ОбластьМакета); // //ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; Эксель.Workbooks.Close(); Эксель.Quit(); Эксель = Неопределено; ТабДокумент.Показать("Печать по установленному шаблону"); КонецПроцедуры &НаСервере Функция ПолучитьМакетНаСервере() ТабДокумент = Новый ТабличныйДокумент(); Макет = Обработки.ПечатьПоШаблону.ПолучитьМакет("ПечатьПоШаблону"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьПробела = Макет.ПолучитьОбласть("Пробел"); ТабДокумент.ОтображатьСетку = Ложь; ТабДокумент.ТолькоПросмотр = Истина; ТабДокумент.ОтображатьЗаголовки = Ложь; Возврат ТабДокумент; КонецФункции |
|||
3
Alever
18.07.13
✎
13:27
|
Сорри может что я не так описал - я не так часто тут темы выкладываю, так что если что прошу извинить.
|
|||
4
Maniac
18.07.13
✎
13:28
|
10000 рублей. сделаем.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |