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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Если эксель сам портит длинные числа то можте быть переделать форму в WORD?

Разграфите её так же как в экселе и вперёд? :-)
Malivan
Сообщения: 11
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Хабаровск

Сообщение Malivan »

Алексей

Дело в том, что это зарплатный реестр и его форму заказывает банк, как ему удобно для дальнейшей обработки. А эксель портит только числа, если добавлять какой-нибудь символ, то все получается в текстовом виде и не портится. Просто банк перестали устраивать пробелы.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Попробовать писать в эксель не через SLK а через функции.
Я правда этим сам не занимался.

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


Или договариваться с банком, почему их перестал устраивать пробел? Может легче их программистам при анализи добавлять пробел у себя в программах? :)
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

правильней будет переделать через xl функции.
как вариант, можно предложить написание макроса который будет проверять заголовок файла и по такому то заголовку резать пробелы в колонке. Приучить пользователя запустить макрос не так сложно - особено если вы его подложите в виде xlt файла в startup Excel. В теории можно наверное сделать автообработку при открытии файла с таким то именем.
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

не когда бы не подумал что эта ситуация может быть такой тупой.
может быть тогда сбрасывать данные в dbf и для особо одаренных сделать этому дбфу расширение slk.правда нарисовать ничего не получится.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

жалуйтесь Билу Гейтсу плиз.
Malivan
Сообщения: 11
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Хабаровск

Сообщение Malivan »

edward_K

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

san

Не подскажите, как сбрасывать отчет в dbf ???
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

в обычный отчет вставить команды работы с dbf, они описаны в документации vipprog.chm
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

Идея с DBF не верна. Нужно получить отчет в определенном виде, а не виде бесссысленных записей с полями.

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

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

Кстате, сталкивался с такой же подобной проблемой уже сталкивался не раз, но клиента устраивало добавление знака " ".
Жду выхода Вселенная 2.12!
stray
Постоянный гость
Сообщения: 90
Зарегистрирован: 29 мар 2005, 17:49

Сообщение stray »

как-то делал для xl, вроде нормально было, попробуй:
if not xlSetCellStringValue(string(t1.katmc.nrec)+'d',npp,20,npp,20) {xlKillExcel;exit}
правда буковку нужно будет отбрасывать
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

stray писал(а):как-то делал для xl, вроде нормально было, попробуй:
if not xlSetCellStringValue(string(t1.katmc.nrec)+'d',npp,20,npp,20) {xlKillExcel;exit}
правда буковку нужно будет отбрасывать
речь шла о SLK
Жду выхода Вселенная 2.12!
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

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

Сообщение Deinis »

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

Была проблема и с выводом в SLK-отчеты NREC-ов. Excel их действительно режет. Выходом может послужить вывод NREC-а не в десятичном виде, а в шестнадцатеричном. Например не KatOS.nRec, а string(KatOS.nRec,0,0).
Нам же нужно было получать NREC-и в десятичном виде. Я лично вышел из положения тем, что в разделе Fields вывожу не само значение NREC-а, а выражение пробел + NREC:
' ' + KatOS.nRec
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Сообщение Seybukan »

В колонку "C" выводи S@@@@@@@@@@@@@@@@@@@@
В колонку "D" выводи =ПСТР(C38;2;20)
Колонку "С" спрячь.
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Сообщение Seybukan »

Да и колонку D вроде нуно в текстовом формате поставить.
Malivan
Сообщения: 11
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Хабаровск

Сообщение Malivan »

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