30.09.2013, 16:13 | #1 |
Участник
|
Ребята, подскажите пожалуйста с чего начать?
Заставили сделать выгрузку в шаблон Excel, отчет реально не по моему уровню, и у меня скоро закипит мозг и голова и я начну паниковать(( |
|
30.09.2013, 16:40 | #2 |
Участник
|
Разбейте задачу на подзадачи.
После того как это сделаете, то можете задавать более конкретные вопросы, тогда Вам скорее помогут |
|
30.09.2013, 16:41 | #3 |
Участник
|
Спасибо, сейчас попытаюсь это сделать)
Вообщем есть Отчет, а нужно : 1) создать шаблон в который он будет выгружаться. ( в экселе нарисовал какой он должен быть ) 2) создать кодеюнит, и пилить там сам шаблон, но как?!!, вот это я и не понимаю /> 3) кодеюнит создал, привязал его на кнопку, которая на форме а вот собственно и шаблон, который нужно сделать |
|
30.09.2013, 17:09 | #4 |
Участник
|
Вам нужно этот шаблон где-то хранить, в каталоге доступным всем или в BLOB поле (мы используем BLOB). Потом дергаете этот файл в темповую папку пользователя (или куда вам нужно), открываете, заполняете и показываете пользователю.
|
|
01.10.2013, 02:17 | #5 |
Administrator
|
создайте шаблончик и сохраните его
откройте шаблончик(ИмяФайла): Код: IF NOT EXISTS(ИмяФайла) THEN ERROR('Файл с именем %1 не найден.',ИмяФайла); IF NOT CREATE(xlApplication,TRUE) THEN ERROR('Excel не установлен'); xlApplication.Workbooks._Open(ИмяФайла); |
|
01.10.2013, 10:27 | #6 |
Участник
|
Цитата:
T14919 Excel Template F14919 Excel Templates CU12416 Excel Management Б качестве примера использования можно посмотреть отчет 14918 (Items Receipt Act TORG-1). |
|
01.10.2013, 12:25 | #7 |
Участник
|
сделал через поле блоб, добавил загрузку эксель шаблона, теперь пишу выгрузку в него.
столкнулся с проблемой. не выгружает данные таблицы customer как правильно обратиться к таблице, чтоб можно было найти определенную фирму ? customer.get(????) сделал через setrange// |
|
01.10.2013, 12:55 | #8 |
Участник
|
Цитата:
может там этого не было? |
|
01.10.2013, 12:56 | #9 |
Участник
|
вопрос 2.
как номер телефона вывести по одной цифре? |
|
01.10.2013, 12:59 | #10 |
Участник
|
|
|
01.10.2013, 13:03 | #11 |
Участник
|
и текстовыми переменными можно работать как с массивом
|
|
01.10.2013, 13:03 | #12 |
Участник
|
ооооо))), точно ). спасибо !)
сейчас попробую) |
|
01.10.2013, 13:51 | #13 |
Участник
|
Проблема №3
))) если какой то рак ошибся, который заполнял данные, нужно сделать проверку, и выводить эти данные начиная справа... если есть 12 итемов на шаблоне, но у нас имеется только 9 цифр, нам нужно заполнять с права это все... вообщем, если такое же количество как на фото, то два белых пробела должно быть слева каким образом мне построить этот масив?( |
|
01.10.2013, 13:57 | #14 |
Участник
|
Какие-то законы природы или религиозные предрассудки мешают обходить массив справа налево?
|
|
01.10.2013, 14:09 | #15 |
Участник
|
|
|
01.10.2013, 14:18 | #16 |
NavAx
|
STRLEN(текстовая переменная) возвратит длину строки
если длина окажется меньше 12, прибавьте соответствующее кол-во пробелов спереди что-то типа IF STRLEN(текст) < 12 THEN FOR i := 1 TO (12 - STRLEN(текст)) DO текст := ' ' + текст;
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
01.10.2013, 14:19 | #17 |
Участник
|
Для строчного поля, то
Код: For i:=strlen(полеTxt) downto 1 do begin excel(строкаInt,i + смещение от правого краяInt) = copystr(полеTxt,i,1); end |
|
01.10.2013, 14:20 | #18 |
Участник
|
Цитата:
Код: FOR i := STRLEN(Вашастрока) DOWNTO 1 DO очереднойсимвол := COPYSTR(вашастрока, i, 1); Код: FOR i := STRLEN(Вашастрока) DOWNTO 1 DO очереднойсимвол := вашастрока[i]; |
|
01.10.2013, 14:31 | #19 |
Участник
|
Не совсем понял, если честно, либо меня не совсем поняли.
Задача стоит в том, чтоб сделать заполнение с конца в любом случае, будь то меньше символов чем ячеек, и будь то равное количество (больше быть не может) к примеру. имеем таблицу "Петя" и поле "Номер", нужно сделать проверку на этом, почему то не вижу решения кроме массива |
|
01.10.2013, 14:43 | #20 |
Участник
|
Думается мне что вариант Kadawrik и мой почти покрывают вашу задачу.
Нужно еще прикрутить верхнюю границу и все заработает |
|