Как убрать лидирующие нули номера документа при выводе в отчёте? #438442


#0 by reanimator
Есть внешний отчёт на СКД. Но в общем-то это, наверное, без разницы. В отчёте надо вывести в колонку "номер документа", но без лидирующих нулей этого номера. В 7.7 это бы элементарно решалось через использование вызова собственной функции. Но в V8, как я понял, такой фокус не пройдёт, там только переменные можно указывать :( Собственно, вопрос - как реализовать вывод номера документа без нулей? Ткните в нужном направлении...
#1 by zak555
Число
#2 by zak555
или есть префикс?
#3 by Федя Тяпкин
ОбщегоНазначения.ПолучитьНомерНаПечать(ОбъектДокумент) Оно?
#4 by zak555
а так ?
#5 by Федя Тяпкин
если есть префикс не прокатит
#6 by reanimator
На Число ругается. Префикса нет. Пробовал. Пишет ошибку при выводе отчёта. Всю голову уже сломал... :(
#7 by zak555
а если нету?
#8 by Федя Тяпкин
что за ошибка? передавать надо не номер а объект.
#9 by zak555
что говорит?
#10 by Федя Тяпкин
сегодня нет, завтра есть. правильнее использовать :)
#11 by reanimator
(8,9) Синтаксическая ошибка "ОбщегоНазначения.ПолучитьНомерНаПечать".
#12 by zak555
да это понятно, всё равно в - внешний ))) а какова фунцкия в
#13 by reanimator
+ Если полностью: {Форма.ФормаОтчета}: Ошибка при вызове метода контекста (Следующий): Ошибка компоновки данных        ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновки.Следующий; по причине: Ошибка компоновки данных по причине: Ошибка получения данных по причине: Ошибка в выражении по причине: Синтаксическая ошибка "ОбщегоНазначения.ПолучитьНомерНаПечать"
#14 by Федя Тяпкин
согласен, если не типовая может не сработать )))
#15 by Федя Тяпкин
вернее функции может не быть
#16 by reanimator
Да отчёт внешний, но в принципе для БП. По книжке вроде должен брать процедуры из общих модулей в "выражении представления"... но не берёт...
#17 by Федя Тяпкин
текст вывода результата в студию!
#18 by reanimator
Вообще можно реализовать вывод своей функции в отчёт? Есть какие-нибудь способы? Пробовал пользовательские поля, не берёт функции. Пробовал свой макет для поля, не берёт функции. Пробовал выражения представления для поля, не берёт функции.
#19 by reanimator
Да вроде стандартный брал...
#20 by reanimator
+ Вычисляемые поля ещё пробовал... Такое чувство, что это как-то просто должно делаться, просто я по недостатку знаний чего-то не догоняю...
#21 by reanimator
Отчёт-то в принципе рабочий... но вот захотелось людям номера документов без нулей в отчёте видеть...
#22 by Федя Тяпкин
попробовал. засада какая то ничего умнее предложить не могу как вывести в ТЗ для дальнейшей обработки
#23 by reanimator
Главное, если просто поставить Формат(Регистратор.Номер, параметры), то не ругается, но строку в число не преобразовывает. А если ставишь Формат(Число(Регистратор.Номер), параметры) - ругается на Число... :(
#24 by Федя Тяпкин
в "выражении представления" ставишь?
#25 by reanimator
Не может же быть, что 8-ка тупее 7-ки... Но вообще - да, засада...
#26 by reanimator
В нём. Но вообще - пробовал по-моему уже везде "ткнуть".
#27 by reanimator
Не может же быть, чтоб клиенты ни к кому не приставали с этим вопросом :)
#28 by reanimator
Блин, завтра вставать рано... пойду на боковую... утро вечера мудренее...
#29 by Evrik
Формат всегда возвращает строковое значение :)
#30 by reanimator
Сильная мудрость :)
#31 by reanimator
Вопрос в силе... :(
#32 by reanimator
Кроме есть ещё варианты?
#33 by tsr
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); про Инициализировать посмотри в СП
#34 by hhhh
Формат(Число(Сред(Регистратор.Номер, 4)), параметры) - чтобы префикс отсечь
#35 by tsr
Параметры: <Макет> (обязательный) Тип: МакетКомпоновкиДанных. Макет, для которого будет выполняться компоновка. <ВнешниеНаборыДанных> (необязательный) Тип: Структура. Ключ структуры соответствует имени внешнего набора данных. Значение структуры - внешнему набору данных. <ДанныеРасшифровки> (необязательный) Тип: ДанныеРасшифровкиКомпоновкиДанных. Объект, в котором нужно заполнить данные расшифровки. Если не указан, то расшифровка заполняться не будет. <ВозможностьИспользованияВнешнихФункций> (необязательный) Тип: Булево. Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных. Значение по умолчанию: Ложь
#36 by zak555
так надо знать длину префикса
#37 by hhhh
не прокатит. ОбщегоНазначения.ПолучитьНомерНаПечать(ОбъектДокумент) до такой степени тормозная, что иногда хочется комп в окошко выбросить.
#38 by reanimator
Спасибо, что направили на путь истинный!!!! :)
#39 by reanimator
В общем, всё получилось, спасибо. Жалко, что можно вставлять только функции общих модулей конфигурации. Надо, например, свою функцию вставить во внешнем отчёте, а конфигурацию трогать нельзя. Как-нибудь можно подключить функции, определённые во внешнем отчёте? Например, в модуле объекта. Или как-то по-другому?
#40 by reanimator
Тогда может кто-нибудь знает - есть функция в БП, которая возвращает Вид документа?
#41 by hhhh
ну добавь туда свой общий модуль, что тебя останавливает?
#42 by EvgeniuXP
0+"003"
#43 by reanimator
Интересный вариант, надо будет проверить. Куда - в конфигурацию? Конфигурацию не хочется с поддержки снимать из-за такого. Или во внешний отчёт можно добавить общий модуль?! :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С