Re: Выводится текст запроса, вместо его значения

Здравствуйте. В ознакомительной версии 5.0.2 столкнулась с проблемой. В тексте отчёта в некоторых полях ( в шапке бланка) выводится текст запроса, вместо значения, которое он должен возвращать. Возникает это в тех полях, которые были добавлены мной. В самом запросе ошибки нет, т.к. если его написать в любое поле , которое уже было на бланке, то он работает, и всё выводится как надо. А если я добавляю , какое-нибудь служебное поле, например, ЛистБланк1, то в него ничего не выводится. Я так понимаю, что проблема именно в добавляемых полях. Может, я их как-то неправильно добавляю? (Excel 2003)

Re: Выводится текст запроса, вместо его значения

Парамонова Наталья писал(а):
Здравствуйте. В ознакомительной версии 5.0.2 столкнулась с проблемой. В тексте отчёта в некоторых полях ( в шапке бланка) выводится текст запроса, вместо значения, которое он должен возвращать. Возникает это в тех полях, которые были добавлены мной. В самом запросе ошибки нет, т.к. если его написать в любое поле , которое уже было на бланке, то он работает, и всё выводится как надо.

Необходимо именовать Вашу область (графу) произвольным именем см. п.8

please-change-link

Re: Выводится текст запроса, вместо его значения

Так я всё и делала. С самого начала.

Re: Выводится текст запроса, вместо его значения

Область именовали в контексте листа?

Re: Выводится текст запроса, вместо его значения

:) Спасибо. Ошибка оказалась простая.
Вопрос не по теме, но заводить новую не хочется....
Есть  такой комментарий, как пустая строка. У него обозначение ПС, наименование и текст, соответственно пустые. Для визуального отделения группы комментов друг от друга. (Параметр "пустые строки между комментариями" для этого не подходит).  Но на бланке эта пустая строка не выводится? Почему, ведь, по идее, она ничем не отличается от простого комментария.
И ещё...
В отчётах версии 2.9. главным источником данных являлся лист RptSheet, и в нём наглядно было видно, в каких полях, какая информация хранится. А в 5.0.2 я что-то не могу разобраться, где, что и к чему. Исходя из состава заполнения карты некоторых бланков понятно, что в поле с номером 19 хранятся номера операций, а в поле 27 - номера цехов. А как и где наглядно просмотреть всё содержание источника?

Re: Выводится текст запроса, вместо его значения

Парамонова Наталья писал(а):
Есть такой комментарий, как пустая строка. У него обозначение ПС, наименование и текст, соответственно пустые. Для визуального отделения группы комментов друг от друга. (Параметр "пустые строки между комментариями" для этого не подходит). Но на бланке эта пустая строка не выводится? Почему, ведь, по идее, она ничем не отличается от простого комментария.

Не могу утверждать точно, но, по-моему, строки с пустыми значениями у всех полей не формируются в многострочной части. Если очень хочется, сделайте шаблон строки с условием для "ПС", сделайте там графу, куда бы выводилось хотя бы даже "ПС", только цвет шрифта поставьте белый (как цвет фона).

Парамонова Наталья писал(а):
В отчётах версии 2.9. главным источником данных являлся лист RptSheet, и в нём наглядно было видно, в каких полях, какая информация хранится. А в 5.0.2 я что-то не могу разобраться, где, что и к чему. Исходя из состава заполнения карты некоторых бланков понятно, что в поле с номером 19 хранятся номера операций, а в поле 27 - номера цехов. А как и где наглядно просмотреть всё содержание источника?

Источник данных определяется
1) в области управления ИсточникДанных на листе шаблона, если её нет, то
2) в поле DataSource таблицы REFERENCE в наборе данных, если там пусто, то
3) это таблица RptSheet

Re: Выводится текст запроса, вместо его значения

Бобов писал(а):
Не могу утверждать точно, но, по-моему, строки с пустыми значениями у всех полей не формируются в многострочной части.

точно

Бобов писал(а):
Если очень хочется, сделайте шаблон строки с условием для "ПС", сделайте там графу, куда бы выводилось хотя бы даже "ПС", только цвет шрифта поставьте белый (как цвет фона).

можно еще воспользоваться 7-м служебным полем:

14.10.3.4 писал(а):
При формировании строк выходного документа на основе шаблонов строк действуют следующие правила по умолчанию:

•    строки, предназначенные для формирования при смене группы (КонецГруппы, СменаГруппы, НачалоГруппы) и в конце отчета (КонецОтчета), формируется всегда;
•    остальные строки: если все элементы строки, которые должны были получить значение, получили пустое значение или нулевое, то строка не формируется.

СЕДЬМОЕ служебное поле позволяет изменить данные правила по умолчанию и предназначено для указания признака, управляющего отображением строки, у которой все элементы получили пустое или нулевое значение.

Может иметь следующие значения:

•    Служебное слово «ВклПустые». Всегда формировать строку.
•    Служебное слово «НеВклПустые». Не формировать строку с пустыми значениями элементов.
•    Пустое значение. Действуют правила по умолчанию.

Re: Выводится текст запроса, вместо его значения

Бобов писал(а):
Источник данных определяется
1) в области управления ИсточникДанных на листе шаблона, если её нет, то
2) в поле DataSource таблицы REFERENCE в наборе данных, если там пусто, то
3) это таблица RptSheet


Вы меня не совсем поняли. Я несколько не то имела ввиду. При просмотре закладки MS Access, для таблицы  RptSheet я вижу поля Р0-Р15, т.е. их всего 16. В бланке номер операции возвращается запросом SELECT FORMAT([Par1],'000')
Par1=19, из чего я делаю вывод, что в текущем источнике данных в поле с номером 19 хранятся номера операций. А где мне визуально это увидеть? Т.е. я хочу знать, в каком поле какая информация хранится.
в поле DataSource таблицы REFERENCE в наборе данных написано следующее:
SELECT TP.P0 AS P0, TP.P1 AS P1, TP.P2 AS P2, TP.P3 AS P3, TP.P4 AS P4, TP.P5 AS P5, TP.P6 AS P6, TP.P7 AS P7, TP.P8 AS P8, TP.P9 AS P9, TP.P10 AS P10, IIF(TP.P11='ОПР_КОММ','ОПР б/о',TP.P11) AS P11, IIF(TP.P11='ОПР_КОММ',1,TP.P12) AS P12, TP.P13 AS P13,  IIF(TP.P11='ОПР_КОММ',TP.P14*2,TP.P14) AS P14, TP.P15 AS P15, (IIF(ISNULL(TP.P10),'',TP.P10+' ')+IIF(ISNULL(TP.P9),'',TP.P9)) AS P16, (IIF(ISNULL(TP.P8),'',TP.P8+' ')+IIF(ISNULL(TP.P9),'',TP.P9)) AS P17, (cStr(TP.P7)+'.') AS P18, (IIF(ISNULL(NOPER.P5),TP.P5*5,NOPER.P5)) AS P19, '' AS P20, TXT.P4 AS P21, PR.P0 AS P22, PR.P1 AS P23, PR.P2 AS P24, PR.P3 AS P25, PR.P4 AS P26, IIF(TP.P11='ОПР_КОММ',CEH.P5,PR.P5) AS P27, IIF(TP.P11='ОПР_КОММ',UCH.P5,PR.P6) AS P28, PR.P7 AS P29, PR.P8 AS P30, PR.P9 AS P31, PR.P10 AS P32, PR.P11 AS P33, PR.P12 AS P34, PR.P13 AS P35, PR.P14 AS P36, PR.P15 AS P37, PR.P16 AS P38, PR.P17 AS P39, PR.P18 AS P40, PR.P19 AS P41, PR.P20 AS P42, PR.P21 AS P43, PR.P22 AS P44 , '' AS P45, '' AS P46, IIF(ISNULL(PR.P13) OR PR.P13='0','',PR.P13+IIF(ISNULL(PR.P14) OR PR.P14='0','','/'+PR.P14)) AS P47, IOT.P5 AS P48 FROM (((((RptSheet AS TP LEFT JOIN TechnoTexts_RptSheet AS TXT ON (TP.P2=TXT.P2 AND TP.P3=TXT.P3)) LEFT JOIN TechnoProps_RptSheet AS PR ON (TP.P2=PR.P2 AND TP.P3=PR.P3)) LEFT JOIN TechnoParameters_RptSheet AS NOPER ON (TP.P2=NOPER.P2 AND TP.P3=NOPER.P3 AND NOPER.P4='TCS_N_OPER')) LEFT JOIN TechnoParameters_RptSheet AS CEH ON (TP.P2=CEH.P2 AND TP.P3=CEH.P3 AND CEH.P4='SEH_OPRKOM'))  LEFT JOIN TechnoParameters_RptSheet AS UCH ON (TP.P2=UCH.P2 AND TP.P3=UCH.P3 AND UCH.P4='UCH_OPRKOM'))  LEFT JOIN TechnoParameters_RptSheet AS IOT ON (TP.P2=IOT.P2 AND TP.P3=IOT.P3 AND IOT.P4='IOT_OPRKOM')  ORDER BY TP.P4
но это как-то мне слабо помогает....

Re: Выводится текст запроса, вместо его значения

Вас поняли правильно и написали что в качестве источника данных может быть не только таблица RptSheet, она используется в последнюю очередь
14.10.1 Источник данных
В вашем случае в качестве источника данных используется запрос указанный в поле DataSource таблицы REFERENCE. Для того чтобы узнать в каком поле что хранится вам прийдется разобраться в этом запросе.

(IIF(ISNULL(NOPER.P5),TP.P5*5,NOPER.P5)) AS P19

это и есть поле 19

RptSheet AS TP ... LEFT JOIN TechnoParameters_RptSheet AS NOPER ON (TP.P2=NOPER.P2 AND TP.P3=NOPER.P3 AND NOPER.P4='TCS_N_OPER')

это NOPER

please-change-link