|
Представление документа в СКД | ☑ | ||
---|---|---|---|---|
0
MistaEr
14.09.18
✎
17:03
|
Всем доброго времени!
Отчет СКД. Выводятся много документов. Представление документов строится в общем модуле, "Мой документ " + Документ.Организация + Документ.Подразделение + Документ.Номер + Документ.Дата. Документ.Дата нужно получить без времени. Ну ладно, я согласился что в запросе невозможно привести дату в нужный мне формат и представление документа собрал вручную в общем модуле. В консоле запросов ПредставлениеСсылки(Документ) тоже красиво все выводит, но проходит через процедуру много раз, это не оптимально. В СКД строю отчет, отчет выполняется в фоне, представление берется так же из процедуры события. Это же тоже не оптимально? |
|||
1
Пуля
14.09.18
✎
17:07
|
Отрежь последние 8 символов
|
|||
2
MistaEr
14.09.18
✎
17:10
|
(0) Собрал бы я представление документа не показывая ссылку, снова даты лезут с временем. Формат не работает и в вычисляемых выражениях и в пользовательских полях тоже
|
|||
3
MistaEr
14.09.18
✎
17:11
|
(1) Дату не получится со строкой сложить
|
|||
4
Cool_Profi
14.09.18
✎
17:13
|
Сделай общий модуль с повторно используемыми значениями.
Будет быстрей. |
|||
5
MistaEr
14.09.18
✎
17:14
|
(4) Входящие параметры будут разные документы. Смысл?
|
|||
6
Пуля
14.09.18
✎
17:22
|
(3) Получится
|
|||
7
dmt
14.09.18
✎
17:26
|
(2) давно ли это Формат не работает?
|
|||
8
MistaEr
14.09.18
✎
17:33
|
(7) Как я понял там язык запросов только
|
|||
9
MistaEr
14.09.18
✎
17:33
|
(6) Подскажи
|
|||
10
dmt
14.09.18
✎
17:38
|
(8) в вычисляемых выражениях? нет, смело пиши Формат(, "ДФ=dd.MM.yy")
|
|||
11
MistaEr
14.09.18
✎
18:20
|
Спасибо поробую
|
|||
12
echo77
15.09.18
✎
12:19
|
(0)
Вот так писал: // Функция возвращает представление документа в виде Документ.Синоним <Номер> от <Год>г. // // Параметры: // Документ - ДокументСсылка/ДокументОбъект // Дата - Дата и время документа. Это для того чтобы исключить обращение к БД // // Возвращаемое значение: // Строка - Строка вида Заказ на производство 00000043750 от 2016 г. // Функция ПолучитьКраткоеПредставлениеДокумента(Документ, Дата = Неопределено) Экспорт Если Не ЗначениеЗаполнено(Документ) Тогда Возврат Документ КонецЕсли; Попытка ДатаДокумента = ?(Дата <> Неопределено, Дата, Документ.Дата); ДокументПредставление = Строка(Документ); ДокументПредставление = СтрЗаменить(Документ, ДатаДокумента, ""); ДокументПредставление = ДокументПредставление + Формат(ДатаДокумента, "ДФ='yyyy ""г.""'"); Возврат ДокументПредставление Исключение // Если что-то пошло не так - возвращаем то что получили Возврат Документ КонецПопытки; КонецФункции Чтобы не ходить каждый раз в базу данных делаем так: создаем функцию, которая на входе получает параметры примитивных типов(Строка, число, дата), минимум ссылок - чтобы не ходит в БД. А в СКД, при вызове этой функции передаем ей параметры так Строка(Документ.Организация), Строка(Документ.Подразделение), Документ.Номер, Документ.Дата в итоге СКД на этапе запроса получит представления этих данных |
|||
13
EvgeniuXP
16.09.18
✎
15:56
|
Или запиши представление сразу в базу и вытягивай от туда.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |