Страница 1 из 1
Вывод в отчет части поля после слеша
Добавлено: 13 май 2014, 16:00
Necrz
Добрый день!
Такой вопрос: есть поле, состоящее из символов вида ...\...\ (цифры и буквы до слеша и после типа 125-a18\eh158-32\)
Необходимо в отчете вывести только часть этого поле, идущую ПОСЛЕ ПЕРВОГО слеша (т.е. на примере - eh158-32\), причем необходимо проверить наличие в поле обоих слешей (прямой и обратный), дабы не пропустить ошибочно введенные позиции (когда вместо прямого ставят обратный). Как это можно реализовать?
Заранее спасибо.
Re: Вывод в отчет части поля после слеша
Добавлено: 13 май 2014, 17:20
Irina_
Здравствуйте. Используйте функции:
function Length(s): byte; - возвращает длину строки.
function Pos(substr: string; s: string): byte; - возвращает позицию вхождения подстроки в строку.
function SubStr(s: string;position: byte;len: byte): string; - возвращает подстроку, начиная с заданной позиции, заданной длины.
Re: Вывод в отчет части поля после слеша
Добавлено: 13 май 2014, 18:54
evchic
Код: Выделить всё
Function ExtractDelimitedWord (
String,
Byte,
String
) : String;
external 'G_ExpImp
Вот пример
str:= '125-a18\eh158-32\...\...\...\';
ExtractDelimitedWord(srt,2,'\') //Вернет 2 значения через разделитель \ - eh158-32
Re: Вывод в отчет части поля после слеша
Добавлено: 14 май 2014, 11:31
Necrz
Спасибо всем! Еще вопрос. В присоединенной форме slk я вывожу номера документов, которые начинаются с нулей (вида 0005345-78 и т.д.), Excel нули обрубает, тем самым в итоге в поле выводится значение без нулей (вида 5345-78). Каким образом можно вывести значения в Excel так, как это представляется в Галактике (т.е. в экселевском поле должно быть значение 0005345-78)?
Re: Вывод в отчет части поля после слеша
Добавлено: 14 май 2014, 11:37
evchic
chr(39)+Pole
Re: Вывод в отчет части поля после слеша
Добавлено: 14 май 2014, 11:48
Necrz
Спасибо. А без апострофа никак нельзя?
evchic писал(а):chr(39)+Pole
Re: Вывод в отчет части поля после слеша
Добавлено: 14 май 2014, 11:51
evchic
Я не помню slk сохраняет формат ячейки или нет! Попробуйте поставить формат ячейки Текст
Re: Вывод в отчет части поля после слеша
Добавлено: 14 май 2014, 11:52
Necrz
Уже пробовал, почему-то не сохраняет. Т.е. формат сохраняет, но выводит все равно без нулей.
evchic писал(а):Я не помню slk сохраняет формат ячейки или нет! Попробуйте поставить формат ячейки Текст
Re: Вывод в отчет части поля после слеша
Добавлено: 14 май 2014, 12:01
edward_K
лучше вместо slk делать текстовую форму, в которой вывести в xls - так вы сможете использовать шаблон, в котором указать для всего столбца тип "текстовый", хотя апострофы и там надежней. Но в любом разе форма будет гораздо красивей - одни параметры страницы чего стоят.
Re: Вывод в отчет части поля после слеша
Добавлено: 14 май 2014, 12:06
Necrz
Спасибо. Т.е. в slk реализовать вывод нулей невозможно, не прибегая к апострофам?
edward_K писал(а):лучше вместо slk делать текстовую форму, в которой вывести в xls - так вы сможете использовать шаблон, в котором указать для всего столбца тип "текстовый", хотя апострофы и там надежней. Но в любом разе форма будет гораздо красивей - одни параметры страницы чего стоят.
Re: Вывод в отчет части поля после слеша
Добавлено: 14 май 2014, 12:16
RAJAH
Necrz писал(а):А без апострофа никак нельзя?
Пробел перед "0".
Re: Вывод в отчет части поля после слеша
Добавлено: 14 май 2014, 12:36
Necrz
Ясно. Всем спасибо!
Re: Вывод в отчет части поля после слеша
Добавлено: 02 авг 2016, 20:15
Buddy
Всем доброго времени суток.
Столкнулся с аналогичной проблемой. В SLK-отчете номер договора (в частном случае) состоит из 25 цифр, и при формировании отчета представляется числом с экспонентой.
Что было предпринято:
Добавил пробел в начале строки - вывелось нормально, но клиент пробелом недоволен.
Соответственно, пробел в конце строки клиент тоже не хочет. Про апостроф даже не спрашивал
Проставил у всего столбца в шаблоне тип Текстовый. При формировании XLS-файла проверяю - в ячейке число с экспонентой, но тип Текстовый!
Подсказали переделать отчет с SLK на текстовый в выводом в XLS, но как-то жалко переделывать весь отчет из-за такой ерунды, тем более что у меня как у начинающего программиста это займет много времени.
В общем, ищу обходные пути для решения этой проблемы.
Re: Вывод в отчет части поля после слеша
Добавлено: 03 авг 2016, 06:17
Алексей
SLK отчеты не запоминают типы полей, которые устанавливаешь... потому в Вашем случае переписать отчёт и формировать отчёт напрямую функциями записи в эксель файл в заранее подготовленный шаблон, с установленными настройками полей.
Re: Вывод в отчет части поля после слеша
Добавлено: 03 авг 2016, 11:40
Buddy
Алексей писал(а):SLK отчеты не запоминают типы полей, которые устанавливаешь... потому в Вашем случае переписать отчёт и формировать отчёт напрямую функциями записи в эксель файл в заранее подготовленный шаблон, с установленными настройками полей.
Эх... Спасибо. Буду переписывать.