|
Почему Табличный документ пустой | ☑ | ||
---|---|---|---|---|
0
reznik911
24.01.14
✎
12:03
|
УТП для Казахстана 2.0.2.5 , 8.3.4.295
Функция ПечатьЛистУчетаСервисногоВыезда() Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст ="ВЫБРАТЬ | Событие.Контрагент, | Событие.КонтактноеЛицо, | Событие.НачалоСобытия, | Событие.ОкончаниеСобытия, | Событие.Ответственный, | Событие.СодержаниеСобытия, | Событие.Дата, | РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, ЧАС) КАК Часы, | РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, МИНУТА) КАК Минуты, | РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, ЧАС) * 60 КАК РассчитанныеМинуты, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, ЧАС) * 60 > РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, МИНУТА) | ТОГДА РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, ЧАС) - 1 | ИНАЧЕ РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, ЧАС) | КОНЕЦ КАК ИтоговыеЧасы, | РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, МИНУТА) - ВЫБОР | КОГДА РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, ЧАС) * 60 > РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, МИНУТА) | ТОГДА РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, ЧАС) - 1 | ИНАЧЕ РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, ЧАС) * 60 | КОНЕЦ КАК ИтоговыеМинуты |ПОМЕСТИТЬ ВТСобытие |ИЗ | Документ.Событие КАК Событие |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | КонтактнаяИнформация.Объект, | КонтактнаяИнформация.Тип, | КонтактнаяИнформация.Вид, | КонтактнаяИнформация.Представление КАК Телефон |ПОМЕСТИТЬ ВТКонтактнаяИнформацияТелефон |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект В | (ВЫБРАТЬ | ВТСобытие.Контрагент | ИЗ | ВТСобытие | СГРУППИРОВАТЬ ПО | ВТСобытие.Контрагент) | И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) | И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | КонтактнаяИнформация.Объект, | КонтактнаяИнформация.Тип, | КонтактнаяИнформация.Вид, | КонтактнаяИнформация.Представление КАК Адрес |ПОМЕСТИТЬ ВТКонтактнаяИнформацияАдрес |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект В | (ВЫБРАТЬ | ВТСобытие.Контрагент | ИЗ | ВТСобытие | СГРУППИРОВАТЬ ПО | ВТСобытие.Контрагент) | И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) | И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТСобытие.Контрагент, | ВТСобытие.Дата, | ВТСобытие.НачалоСобытия КАК Начало, | ВТСобытие.ОкончаниеСобытия КАК Окончание, | ВТСобытие.Ответственный, | ВТСобытие.КонтактноеЛицо, | ВТКонтактнаяИнформацияТелефон.Телефон, | ВТКонтактнаяИнформацияАдрес.Адрес, | ВТСобытие.СодержаниеСобытия КАК Содержание, | ВТСобытие.ИтоговыеЧасы, | ВТСобытие.ИтоговыеМинуты |ИЗ | ВТСобытие КАК ВТСобытие | ЛЕВОЕ СОЕДИНЕНИЕ ВТКонтактнаяИнформацияТелефон КАК ВТКонтактнаяИнформацияТелефон | ПО ВТСобытие.Контрагент = ВТКонтактнаяИнформацияТелефон.Объект | ЛЕВОЕ СОЕДИНЕНИЕ ВТКонтактнаяИнформацияАдрес КАК ВТКонтактнаяИнформацияАдрес | ПО ВТСобытие.Контрагент = ВТКонтактнаяИнформацияАдрес.Объект"; ЗапросСобытие=Запрос.Выполнить().Выбрать(); Макет=ПолучитьМакет("ЛистУчетаСервисногоВыезда"); // Получаем области макета для вывода в табличный документ Заголовок = Макет.ПолучитьОбласть("Заголовок"); Заказчик = Макет.ПолучитьОбласть("Заказчик"); ПереченьРабот = Макет.ПолучитьОбласть("ПереченьРабот"); Условия = Макет.ПолучитьОбласть("Условия"); Подвал = Макет.ПолучитьОбласть("Подвал"); ТабДокумент = Новый ТабличныйДокумент; // Зададим параметры макета по умолчанию ТабДокумент.ПолеСверху = 10; ТабДокумент.ПолеСлева = 0; ТабДокумент.ПолеСнизу = 0; ТабДокумент.ПолеСправа = 0; ТабДокумент.РазмерКолонтитулаСверху = 10; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; Заголовок.Параметры.Ответственный = ЗапросСобытие.Ответственный; Заголовок.Параметры.Дата = Формат(ЗапросСобытие.Дата,"ДЛФ=DD"); Заголовок.Параметры.Начало = ЗапросСобытие.Начало; Заголовок.Параметры.Окончание= ЗапросСобытие.Окончание; ТабДокумент.Вывести(Заголовок); Заказчик.Параметры.Контрагент = ЗапросСобытие.Контрагент; Заказчик.Параметры.Телефон = ЗапросСобытие.Телефон; Заказчик.Параметры.Адрес = ЗапросСобытие.Адрес; Заказчик.Параметры.КонтактноеЛицо = ЗапросСобытие.КонтактноеЛицо; ТабДокумент.Вывести(Заказчик); ПереченьРабот.Параметры.Содержание = ЗапросСобытие.Содержание; ТабДокумент.Вывести(ПереченьРабот); ТабДокумент.Вывести(Условия); Подвал.Параметры.Ответственный = ЗапросСобытие.Ответственный; Подвал.Параметры.Дата = Формат(ЗапросСобытие.Дата,"ДЛФ=DD"); Подвал.Параметры.Контрагент = ЗапросСобытие.Контрагент; ТабДокумент.Вывести(Подвал); Возврат ТабДокумент; КонецФункции // ПечатьЛистУчетаСервисногоВыезда() |
|||
1
reznik911
24.01.14
✎
12:04
|
вроде все правильно написал макет формируется с формы документа но ячейки все пустые
|
|||
2
Wobland
24.01.14
✎
12:06
|
ещё добавь, что в коносли запросов виден нужный результат
|
|||
3
Wobland
24.01.14
✎
12:07
|
>Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
а это зачем? |
|||
4
reznik911
24.01.14
✎
12:09
|
(3) чтоб взять данные с формы документа
|
|||
5
Wobland
24.01.14
✎
12:11
|
(4) ну, допустим, не с формы, но взял. и даже параметр установил. зачем?
|
|||
6
Рэйв
24.01.14
✎
12:11
|
(4)Так ты не к форме а к объекту обращаешься. И если док новый и не записан, то ты получишь как раз фигу с маслом
|
|||
7
Wobland
24.01.14
✎
12:11
|
(6) в прежней теме всё разжёвано
|
|||
8
reznik911
24.01.14
✎
12:11
|
(6) док записан и проведен . пусто
|
|||
9
reznik911
24.01.14
✎
12:12
|
(5) да емае сотый раз обясняю как Я ПО ДРУГОМУ ПОЛУЧУ ДАННЫЕ или свяжу с документом
|
|||
10
reznik911
24.01.14
✎
12:13
|
(7) в какой
|
|||
11
reznik911
24.01.14
✎
12:13
|
нормальный совет не можете дать
|
|||
12
Wobland
24.01.14
✎
12:15
|
(9) установка параметра запроса - отличный план. запрос-то знает, что с ним потом делать?
|
|||
13
reznik911
24.01.14
✎
12:18
|
(12) запрос правильный. получаю данные именно по этому запросу. закидываю их на макет и вывожу неужели это не понятно
|
|||
14
Кир Пластелинин
24.01.14
✎
12:19
|
эм. я один не вижу .следующий() из выборки?
|
|||
15
Wobland
24.01.14
✎
12:20
|
(13) запрос неправильный. ты только думаешь, что закидываешь их куда-то там -> (14)
|
|||
16
reznik911
24.01.14
✎
12:22
|
(15) но в косноли то показывает верно
|
|||
17
reznik911
24.01.14
✎
12:22
|
(15) и отладчик показывает данные
|
|||
18
reznik911
24.01.14
✎
12:25
|
(14) хэх помог решить)))
|
|||
19
Wobland
24.01.14
✎
12:27
|
можешь не благодарить
|
|||
20
reznik911
24.01.14
✎
12:33
|
(19) ну да конечно, дело в запросе хаха)))
|
|||
21
Wobland
24.01.14
✎
12:34
|
(20) не спорь с бородатыми. на (3) и (12) ещё не ответил
|
|||
22
Кир Пластелинин
24.01.14
✎
12:38
|
поправьте, если не прав, но я категорически избегал бы конструкций "где в (выбрать из)".
|
|||
23
reznik911
24.01.14
✎
12:39
|
(22) а что вместо использовать?
|
|||
24
Wobland
24.01.14
✎
12:40
|
(22) поправлять не буду. ему надо просто выбрать из трёх таблиц без всяких изощрений
|
|||
25
Кир Пластелинин
24.01.14
✎
12:44
|
(24) хотелось бы конкретики хотя бы в общих чертах - я прав или нет?)
|
|||
26
reznik911
24.01.14
✎
12:45
|
(24) ну вот макет формирует только по одному документу((( хоть какой из списка не открывал
|
|||
27
Wobland
24.01.14
✎
12:46
|
(25) в общем случае нет. мало ли какая задача встретится. здесь - явный г-код. особенно конструкция вида
в (выбрать [ни фига не различные] контрагенты событий) |
|||
28
Wobland
24.01.14
✎
12:46
|
(26) как ты этого добился, и зачем твоему запросу параметр?
|
|||
29
Кир Пластелинин
24.01.14
✎
12:47
|
(27) надо было добавить в моем месседже, что абстрагируясь от конкретного запроса ТС.
|
|||
30
reznik911
24.01.14
✎
12:48
|
(28) я незнаю. утсановил потому что другие макеты которые выводят данные в Ворд установлен этот параметр. вот и решил что этот параметр и связывает
|
|||
31
Кир Пластелинин
24.01.14
✎
12:49
|
(26) сложно ванговать Ваши цели и задачи, но выборка из результатов запроса - это коллекция. и, о чудо, эту коллекцию иногда можно да и нужно перебирать.
|
|||
32
Кир Пластелинин
24.01.14
✎
12:50
|
(30) ох ты ж)))
|
|||
33
reznik911
24.01.14
✎
12:50
|
(31) как
|
|||
34
reznik911
24.01.14
✎
12:51
|
в запросе ставил Событие.Ссылка=&Ссылка он ничего не выводил
|
|||
35
Кир Пластелинин
24.01.14
✎
12:53
|
(33) предлагаю Вам взять методички в руки и изучать мат.часть.
(27) ну иногда бывают ситуации, когда приходиться так делать. но не лучше ли соединением? хоть проиндексировать большие выборки можно |
|||
36
Wobland
24.01.14
✎
12:54
|
(29) найти производителей яблок, которые также производят и пылесосы
|
|||
37
Wobland
24.01.14
✎
12:55
|
(36) а может и соединением. тут надо погружаться в пучины планов запросов. меня как-то миновало ;)
|
|||
38
reznik911
24.01.14
✎
12:55
|
(35) методичку то прочел ничего толкового было бы, я б сюда не писал
|
|||
39
reznik911
24.01.14
✎
12:55
|
(37) я знаю тебе как всегда лень))
|
|||
40
reznik911
24.01.14
✎
12:56
|
(35) ну ж и так соединяю ВТ в конце
|
|||
41
Кир Пластелинин
24.01.14
✎
12:56
|
(38) да ладно) видимо быстрый старт в профессию не удался)
|
|||
42
Кир Пластелинин
24.01.14
✎
12:57
|
(40) ну уж если в конце соединяете, тогда ок)))
|
|||
43
Кир Пластелинин
24.01.14
✎
12:58
|
(36) шутку оценил, но не понял привязки к сообщению)
|
|||
44
reznik911
24.01.14
✎
13:00
|
(41) так вот поможете исправить запрос?
|
|||
45
Wobland
24.01.14
✎
13:02
|
(43) это была не шутка, частный пример удобства использования <в (выбрать)
|
|||
46
Wobland
24.01.14
✎
13:03
|
(44) выбрать из твой документ левое регистр левое регистр. и всё
|
|||
47
Кир Пластелинин
24.01.14
✎
13:04
|
(45) хм. об этом не подумал
(44) в скайп стукнись. будет свободно - помогу |
|||
48
reznik911
24.01.14
✎
13:05
|
(41) ну да я ж тока полгода как начал))) учебники прочел . легкие отчеты делал
|
|||
49
reznik911
24.01.14
✎
13:09
|
(46) я так понимаю советуете выбрать реквизиты с документа потом с регистра сведений и указать условие ну или соединение. ну дмаю это поможет ускорить запрос. но поможет ли это выбрать нужные данные а не выводить все нескольько тыс документов
|
|||
50
Wobland
24.01.14
✎
13:16
|
(49) я советую взять три таблицы, соединить их вместе, наложить условие про текущий документ, выбрать из этой пачки нужные поля
кидайте в меня какашками |
|||
51
reznik911
24.01.14
✎
13:22
|
(50) у я и так делаю же. в первом выбираю поля доступные с этого документа. во втором получаю телефон, в третьем адрес. а в последнем их соединяю чтоб получить адрес и телефон того контрагента
|
|||
52
reznik911
24.01.14
✎
13:23
|
помещаю первые 3 в ВТ чтоб ускорить запрос
|
|||
53
Wobland
24.01.14
✎
13:27
|
(52) воот
|
|||
54
Wobland
24.01.14
✎
13:28
|
+(53) а в эти ВТ ты складываешь кучу лишнего
|
|||
55
1Сергей
24.01.14
✎
13:28
|
консоль запросов не предлагали ещё?
|
|||
56
Wobland
24.01.14
✎
13:30
|
(55) посостязаемся в оригинальности предложения? у тебя хорошая фора ;)
|
|||
57
1Сергей
24.01.14
✎
13:32
|
(56) какая фора? ты уже предложил
|
|||
58
reznik911
24.01.14
✎
13:34
|
(50) (57) так получилось. Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); + в запросе прописал Где Событие.Ссылка=&ТекущийДокумент
|
|||
59
reznik911
24.01.14
✎
13:38
|
(56)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |