Страница 2 из 3

Добавлено: 11 окт 2005, 10:27
Алексей
Если эксель сам портит длинные числа то можте быть переделать форму в WORD?

Разграфите её так же как в экселе и вперёд? :-)

Добавлено: 11 окт 2005, 10:43
Malivan
Алексей

Дело в том, что это зарплатный реестр и его форму заказывает банк, как ему удобно для дальнейшей обработки. А эксель портит только числа, если добавлять какой-нибудь символ, то все получается в текстовом виде и не портится. Просто банк перестали устраивать пробелы.

Добавлено: 11 окт 2005, 11:08
Алексей
Попробовать писать в эксель не через SLK а через функции.
Я правда этим сам не занимался.

Если есть функции установки формата ячеек, то надо ячейку делать текстовой, потом уже функцией doubletostr(num,'[|-]366666666666666666666') писать в ячейку строку. :-(


Или договариваться с банком, почему их перестал устраивать пробел? Может легче их программистам при анализи добавлять пробел у себя в программах? :)

Добавлено: 11 окт 2005, 11:34
edward_K
правильней будет переделать через xl функции.
как вариант, можно предложить написание макроса который будет проверять заголовок файла и по такому то заголовку резать пробелы в колонке. Приучить пользователя запустить макрос не так сложно - особено если вы его подложите в виде xlt файла в startup Excel. В теории можно наверное сделать автообработку при открытии файла с таким то именем.

Добавлено: 11 окт 2005, 11:43
san
не когда бы не подумал что эта ситуация может быть такой тупой.
может быть тогда сбрасывать данные в dbf и для особо одаренных сделать этому дбфу расширение slk.правда нарисовать ничего не получится.

Добавлено: 11 окт 2005, 11:47
edward_K
жалуйтесь Билу Гейтсу плиз.

Добавлено: 11 окт 2005, 12:18
Malivan
edward_K

Идея с макросами была как крайний случай.

san

Не подскажите, как сбрасывать отчет в dbf ???

Добавлено: 11 окт 2005, 12:24
san
в обычный отчет вставить команды работы с dbf, они описаны в документации vipprog.chm

Добавлено: 11 окт 2005, 13:28
Max_Fin
Идея с DBF не верна. Нужно получить отчет в определенном виде, а не виде бесссысленных записей с полями.

По поводу макросов, тоже проблема, когда стартовать макрос? Дело в том, что SLK формируется не посредственно записью в файл, а потом следует только открытие файла в Excel.

Идея с RTF нормально, но подойдет ли она?

Кстате, сталкивался с такой же подобной проблемой уже сталкивался не раз, но клиента устраивало добавление знака " ".

Добавлено: 11 окт 2005, 14:34
stray
как-то делал для xl, вроде нормально было, попробуй:
if not xlSetCellStringValue(string(t1.katmc.nrec)+'d',npp,20,npp,20) {xlKillExcel;exit}
правда буковку нужно будет отбрасывать

Добавлено: 11 окт 2005, 14:55
Max_Fin
stray писал(а):как-то делал для xl, вроде нормально было, попробуй:
if not xlSetCellStringValue(string(t1.katmc.nrec)+'d',npp,20,npp,20) {xlKillExcel;exit}
правда буковку нужно будет отбрасывать
речь шла о SLK

Re: Вывод 20-ти значного номера в SLK

Добавлено: 11 окт 2005, 23:43
Deinis
Сталкивался с такой проблемой. Надоть было выводить инвентарные номера в отчет, а SLK эти инвентарные номера преобразовывал в цифири без ноликов в начале. C помощью xl-функций выводилось нормально.

Была проблема и с выводом в SLK-отчеты NREC-ов. Excel их действительно режет. Выходом может послужить вывод NREC-а не в десятичном виде, а в шестнадцатеричном. Например не KatOS.nRec, а string(KatOS.nRec,0,0).
Нам же нужно было получать NREC-и в десятичном виде. Я лично вышел из положения тем, что в разделе Fields вывожу не само значение NREC-а, а выражение пробел + NREC:
' ' + KatOS.nRec

Добавлено: 12 окт 2005, 20:05
Seybukan
В колонку "C" выводи S@@@@@@@@@@@@@@@@@@@@
В колонку "D" выводи =ПСТР(C38;2;20)
Колонку "С" спрячь.

Добавлено: 12 окт 2005, 20:20
Seybukan
Да и колонку D вроде нуно в текстовом формате поставить.

Добавлено: 14 окт 2005, 05:22
Malivan
Прятать колонки нельзя, формат файла задан очень жестко. Поставил пробел после значения, банк говорит, что это их должно устроить, так как они тупо закачивают 20 знаков, пробел останется лишним.