|
РегистрСведений | ☑ | ||
---|---|---|---|---|
0
asrv
08.08.12
✎
16:25
|
Друзья! Помогите пожалуйста! У меня проблема такая: Есть документ ТТН, хочу сформировать печатную форму. Когда нажимаешь на печать, табличный документ формируется очень долго. заранее спасибо! Предупреждаю, я в этом деле, относительно новичек!
Мой пример таков: Процедура ПечатьТТН(ТабДок, Ссылка) Экспорт ТабДок.ПолеСлева = 5; ТабДок.ПолеСправа = 5; ТабДок.ПолеСверху = 5; ТабДок.ПолеСнизу = 5; ТабДок.РазмерКолонтитулаСверху = 0; ТабДок.РазмерКолонтитулаСнизу = 0; ТабДок.АвтоМасштаб = Истина; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДок.ТолькоПросмотр = Истина; Макет = ПолучитьОбщийМакет("ПФ_MXL_ТТН"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТранспортнаяНакладная.Организация КАК ПредставлениеОрганизации, | ТранспортнаяНакладная.Контрагент КАК ПредставлениеГрузополучателя, | ТранспортнаяНакладная.Контрагент КАК Плательщика, | ТранспортнаяНакладная.Номер КАК НомерДокумента, | ТранспортнаяНакладная.Дата КАК ДатаДокумента, | МАКСИМУМ(ВЫБОР | КОГДА КонтактнаяИнформация.ВидИнформации = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдрес) | ТОГДА КонтактнаяИнформация.Представление | КОНЕЦ) КАК ПредставлениеПлательщика |ИЗ | Документ.ТранспортнаяНакладная КАК ТранспортнаяНакладная | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО ТранспортнаяНакладная.Организация.Ссылка = КонтактнаяИнформация.Субъект.Ссылка |ГДЕ | ТранспортнаяНакладная.Ссылка В(&Ссылка) | |СГРУППИРОВАТЬ ПО | ТранспортнаяНакладная.Организация, | ТранспортнаяНакладная.Контрагент, | ТранспортнаяНакладная.Номер, | ТранспортнаяНакладная.Дата, | ТранспортнаяНакладная.Контрагент"; Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); ВставлятьРазделительСтраниц = Ложь; Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; Шапка = Макет.ПолучитьОбласть("Шапка"); Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка, Выборка.Уровень()); ВставлятьРазделительСтраниц = Истина; КонецЦикла; КонецПроцедуры |
|||
1
hhhh
08.08.12
✎
16:30
|
ну во-первых лишние ссылки выбросьте. Слово ".Ссылка" тормозит запрос в 10 раз. Вот так пробуйте
ПО ТранспортнаяНакладная.Организация = КонтактнаяИнформация.Субъект или вам за буквы зарплату платят? |
|||
2
Reset
08.08.12
✎
16:35
|
Максимальный юр. адрес - сильно
|
|||
3
asrv
08.08.12
✎
17:07
|
Нет, не платят! Я и без ссылки пробовал и без результатно
|
|||
4
gosn1ck
08.08.12
✎
17:10
|
"ВЫБРАТЬ
| ТранспортнаяНакладная.Организация КАК ПредставлениеОрганизации, | ТранспортнаяНакладная.Контрагент КАК ПредставлениеГрузополучателя, | ТранспортнаяНакладная.Контрагент КАК Плательщика, | ТранспортнаяНакладная.Номер КАК НомерДокумента, | ТранспортнаяНакладная.Дата КАК ДатаДокумента, | ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК Строка(100) КАК ПредставлениеПлательщика |ИЗ | Документ.ТранспортнаяНакладная КАК ТранспортнаяНакладная | Левое СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО ТранспортнаяНакладная.Организация = КонтактнаяИнформация.Субъект |ГДЕ | ТранспортнаяНакладная.Ссылка = &Ссылка | |
|||
5
gosn1ck
08.08.12
✎
17:10
|
точнее
| isnull(ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК Строка(100)), "") КАК ПредставлениеПлательщика |
|||
6
Maxus43
08.08.12
✎
17:10
|
сколько строк то в результате?
|
|||
7
asrv
08.08.12
✎
17:12
|
Ща попробую
|
|||
8
Reset
08.08.12
✎
17:13
|
Вероятно, нужно И КонтактнаяИнформация.ВидИнформации = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдрес) в условия соединения
|
|||
9
asrv
08.08.12
✎
17:16
|
Если Так:
ВЫБРАТЬ | ТранспортнаяНакладная.Организация КАК ПредставлениеОрганизации, | ТранспортнаяНакладная.Контрагент КАК ПредставлениеГрузополучателя, | ТранспортнаяНакладная.Контрагент КАК Плательщика, | ТранспортнаяНакладная.Номер КАК НомерДокумента, | ТранспортнаяНакладная.Дата КАК ДатаДокумента, | МАКСИМУМ(ЕСТЬNULL(ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)), """")) КАК ПредставлениеПлательщика |ИЗ | Документ.ТранспортнаяНакладная КАК ТранспортнаяНакладная | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО ТранспортнаяНакладная.Организация.Ссылка = КонтактнаяИнформация.Субъект.Ссылка |ГДЕ | ТранспортнаяНакладная.Ссылка В(&Ссылка) | |СГРУППИРОВАТЬ ПО | ТранспортнаяНакладная.Организация, | ТранспортнаяНакладная.Контрагент, | ТранспортнаяНакладная.Номер, | ТранспортнаяНакладная.Дата, | ТранспортнаяНакладная.Контрагент тока эл. почту выдает и все |
|||
10
asrv
08.08.12
✎
17:20
|
"Вероятно, нужно И КонтактнаяИнформация.ВидИнформации = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдрес) в условия соединения"
Так тоже долго! |
|||
11
asrv
08.08.12
✎
17:22
|
Кстати! Когда повторно нажимаешь кнопку печать, тогда быстра формирует.
|
|||
12
gosn1ck
08.08.12
✎
17:23
|
(11) братишь, ты в танке? ты зачем группируешь?
|
|||
13
zladenuw
08.08.12
✎
17:24
|
попробуй добавить два условие по Типу и Виду. должно быть быстрее
|
|||
14
asrv
08.08.12
✎
17:24
|
Если без группировки, то выводит адреса всех организаций
|
|||
15
asrv
08.08.12
✎
17:31
|
"попробуй добавить два условие по Типу и Виду. должно быть быстрее"
Ничего не меняется |
|||
16
Maxus43
08.08.12
✎
17:33
|
а что за КонтактнаяИнформация.Субъект? всегда Объект было
|
|||
17
gosn1ck
08.08.12
✎
17:35
|
(14) ну правильно там же много измерений
|
|||
18
asrv
08.08.12
✎
17:37
|
В этой конфе, они назвали Субъетом, внутри чего есть ссылки к: Организации, Контрагенты и ФизЛица
|
|||
19
artems
08.08.12
✎
17:38
|
мне одному показалось или в (9) два раза по контрагенту группирует?
|
|||
20
asrv
08.08.12
✎
17:38
|
Как тогда поступить???
|
|||
21
asrv
08.08.12
✎
17:38
|
Может мне базу скинуть?
|
|||
22
artems
08.08.12
✎
17:39
|
МАКСИМУМ(ЕСТЬNULL(ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)), """")) КАК ПредставлениеПлательщика круто
|
|||
23
artems
08.08.12
✎
17:41
|
Нафига вообще запрос когда ты работаешь по одному документу? Выбери запросом только контактную информацию.
|
|||
24
asrv
08.08.12
✎
17:49
|
Спасибо Вам всем огромное! Я счастлив!!!
Вот так получается: "ВЫБРАТЬ | ТранспортнаяНакладная.Организация КАК ПредставлениеОрганизации, | ТранспортнаяНакладная.Контрагент КАК ПредставлениеГрузополучателя, | ТранспортнаяНакладная.Контрагент КАК Плательщика, | ТранспортнаяНакладная.Номер КАК НомерДокумента, | ТранспортнаяНакладная.Дата КАК ДатаДокумента, | ЕСТЬNULL(ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)), """""""") КАК ПредставлениеПлательщика1, | КонтактнаяИнформация.Представление КАК ПредставлениеПлательщика |ИЗ | Документ.ТранспортнаяНакладная КАК ТранспортнаяНакладная | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО (КонтактнаяИнформация.ВидИнформации = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдрес)) | И ТранспортнаяНакладная.Организация = КонтактнаяИнформация.Субъект |ГДЕ | ТранспортнаяНакладная.Ссылка В(&Ссылка)" Друзья Вы супер!!! |
|||
25
asrv
08.08.12
✎
18:01
|
Объясните пожалуйста, "СТРОКА(100))" что это такое? Просто я хочу разобраться, в проделанном!
|
|||
26
artems
08.08.12
✎
18:47
|
(25) Приводит значение "КонтактнаяИнформация.Представление" к типу Строка длиной 100
|
|||
27
Адимр
08.08.12
✎
18:58
|
Если ссылка не список
то наверное можно просто на равенство проверять |ГДЕ | ТранспортнаяНакладная.Ссылка =&Ссылка" |
|||
28
asrv
09.08.12
✎
12:04
|
Я понял:) Спасибо всем за помощь!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |