Вывод в отчет части поля после слеша
Модераторы: m0p3e, edward_K, Модераторы
Вывод в отчет части поля после слеша
Добрый день!
Такой вопрос: есть поле, состоящее из символов вида ...\...\ (цифры и буквы до слеша и после типа 125-a18\eh158-32\)
Необходимо в отчете вывести только часть этого поле, идущую ПОСЛЕ ПЕРВОГО слеша (т.е. на примере - eh158-32\), причем необходимо проверить наличие в поле обоих слешей (прямой и обратный), дабы не пропустить ошибочно введенные позиции (когда вместо прямого ставят обратный). Как это можно реализовать?
Заранее спасибо.
Такой вопрос: есть поле, состоящее из символов вида ...\...\ (цифры и буквы до слеша и после типа 125-a18\eh158-32\)
Необходимо в отчете вывести только часть этого поле, идущую ПОСЛЕ ПЕРВОГО слеша (т.е. на примере - eh158-32\), причем необходимо проверить наличие в поле обоих слешей (прямой и обратный), дабы не пропустить ошибочно введенные позиции (когда вместо прямого ставят обратный). Как это можно реализовать?
Заранее спасибо.
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Re: Вывод в отчет части поля после слеша
Здравствуйте. Используйте функции:
function Length(s): byte; - возвращает длину строки.
function Pos(substr: string; s: string): byte; - возвращает позицию вхождения подстроки в строку.
function SubStr(s: string;position: byte;len: byte): string; - возвращает подстроку, начиная с заданной позиции, заданной длины.
function Length(s): byte; - возвращает длину строки.
function Pos(substr: string; s: string): byte; - возвращает позицию вхождения подстроки в строку.
function SubStr(s: string;position: byte;len: byte): string; - возвращает подстроку, начиная с заданной позиции, заданной длины.
-
- Местный житель
- Сообщения: 216
- Зарегистрирован: 25 апр 2006, 12:05
- Откуда: г.Ростов-на-Дону
- Контактная информация:
Re: Вывод в отчет части поля после слеша
Код: Выделить всё
Function ExtractDelimitedWord (
String,
Byte,
String
) : String;
external 'G_ExpImp
str:= '125-a18\eh158-32\...\...\...\';
ExtractDelimitedWord(srt,2,'\') //Вернет 2 значения через разделитель \ - eh158-32
Re: Вывод в отчет части поля после слеша
Спасибо всем! Еще вопрос. В присоединенной форме slk я вывожу номера документов, которые начинаются с нулей (вида 0005345-78 и т.д.), Excel нули обрубает, тем самым в итоге в поле выводится значение без нулей (вида 5345-78). Каким образом можно вывести значения в Excel так, как это представляется в Галактике (т.е. в экселевском поле должно быть значение 0005345-78)?
-
- Местный житель
- Сообщения: 216
- Зарегистрирован: 25 апр 2006, 12:05
- Откуда: г.Ростов-на-Дону
- Контактная информация:
Re: Вывод в отчет части поля после слеша
chr(39)+Pole
Re: Вывод в отчет части поля после слеша
Спасибо. А без апострофа никак нельзя?
evchic писал(а):chr(39)+Pole
-
- Местный житель
- Сообщения: 216
- Зарегистрирован: 25 апр 2006, 12:05
- Откуда: г.Ростов-на-Дону
- Контактная информация:
Re: Вывод в отчет части поля после слеша
Я не помню slk сохраняет формат ячейки или нет! Попробуйте поставить формат ячейки Текст
Re: Вывод в отчет части поля после слеша
Уже пробовал, почему-то не сохраняет. Т.е. формат сохраняет, но выводит все равно без нулей.
evchic писал(а):Я не помню slk сохраняет формат ячейки или нет! Попробуйте поставить формат ячейки Текст
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Вывод в отчет части поля после слеша
лучше вместо slk делать текстовую форму, в которой вывести в xls - так вы сможете использовать шаблон, в котором указать для всего столбца тип "текстовый", хотя апострофы и там надежней. Но в любом разе форма будет гораздо красивей - одни параметры страницы чего стоят.
Re: Вывод в отчет части поля после слеша
Спасибо. Т.е. в slk реализовать вывод нулей невозможно, не прибегая к апострофам?
edward_K писал(а):лучше вместо slk делать текстовую форму, в которой вывести в xls - так вы сможете использовать шаблон, в котором указать для всего столбца тип "текстовый", хотя апострофы и там надежней. Но в любом разе форма будет гораздо красивей - одни параметры страницы чего стоят.
Re: Вывод в отчет части поля после слеша
Пробел перед "0".Necrz писал(а):А без апострофа никак нельзя?
Re: Вывод в отчет части поля после слеша
Ясно. Всем спасибо!
Re: Вывод в отчет части поля после слеша
Всем доброго времени суток.
Столкнулся с аналогичной проблемой. В SLK-отчете номер договора (в частном случае) состоит из 25 цифр, и при формировании отчета представляется числом с экспонентой.
Что было предпринято:
Добавил пробел в начале строки - вывелось нормально, но клиент пробелом недоволен.
Соответственно, пробел в конце строки клиент тоже не хочет. Про апостроф даже не спрашивал
Проставил у всего столбца в шаблоне тип Текстовый. При формировании XLS-файла проверяю - в ячейке число с экспонентой, но тип Текстовый!
Подсказали переделать отчет с SLK на текстовый в выводом в XLS, но как-то жалко переделывать весь отчет из-за такой ерунды, тем более что у меня как у начинающего программиста это займет много времени.
В общем, ищу обходные пути для решения этой проблемы.
Столкнулся с аналогичной проблемой. В SLK-отчете номер договора (в частном случае) состоит из 25 цифр, и при формировании отчета представляется числом с экспонентой.
Что было предпринято:
Добавил пробел в начале строки - вывелось нормально, но клиент пробелом недоволен.
Соответственно, пробел в конце строки клиент тоже не хочет. Про апостроф даже не спрашивал
Проставил у всего столбца в шаблоне тип Текстовый. При формировании XLS-файла проверяю - в ячейке число с экспонентой, но тип Текстовый!
Подсказали переделать отчет с SLK на текстовый в выводом в XLS, но как-то жалко переделывать весь отчет из-за такой ерунды, тем более что у меня как у начинающего программиста это займет много времени.
В общем, ищу обходные пути для решения этой проблемы.
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Вывод в отчет части поля после слеша
SLK отчеты не запоминают типы полей, которые устанавливаешь... потому в Вашем случае переписать отчёт и формировать отчёт напрямую функциями записи в эксель файл в заранее подготовленный шаблон, с установленными настройками полей.
Re: Вывод в отчет части поля после слеша
Эх... Спасибо. Буду переписывать.Алексей писал(а):SLK отчеты не запоминают типы полей, которые устанавливаешь... потому в Вашем случае переписать отчёт и формировать отчёт напрямую функциями записи в эксель файл в заранее подготовленный шаблон, с установленными настройками полей.