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