13.02.2012 08:05
Mtirt
 
Даже на твоем стриншоте видно.
В Q1 есть supplierdoc (первой строкой).
Его и вставь в печатную форму. Нет?
13.02.2012 08:50
Danil_
 
Я полностью удалил и сделал заново поле "Накладная"

Код:
function F_SUPPLIERDOCFormatTrigger return boolean is
begin
  
  return (TRUE);
end;
Ошибка та же

Цитата:
REP-1213: Поле 'F_SUPPLIERDOC' ссылается на столбец 'supplierdoc' с частотой ниже его группы.
13.02.2012 10:42
vdm
 
Если источником для поля F_SUPPLIERDOC служит supplierdoc из запроса спецификации, то это поле обязано лежать в пределах repeating frame, источником для которого служит тот же запрос. У тебя F_SUPPLIERDOC скорее всего где-то в заголовке.

Еще мелкая придирка
Код:
and s.docid = sm.id(+) -- добавил
and s.doctype = sm.doctype(+) -- добавил
Иначе теоретически можно и спецификацию получить.

Но вообще нет смысла для одного документа брать номер/дату с-ф вместе со спецификацией, он все равно в единственном числе у тебя.
Заведи глобальные пользовательские параметры или переменные в спецификации пакета, и заполни их селектом в afterpform. Их можно будет в любом месте использовать.
13.02.2012 11:08
Danil_
 
vdm, а можно подробнее? Как-то пошагово что ли. Пробую, пробую, гугла уже замучил бедного, а ошибка всё таже и не могу понять о каком фрейме идет речь.
Давай сначала создадим это поле?
13.02.2012 12:03
vdm
 
Смотри в объектном навигаторе, кто является родителем для поля F_SUPPLIERDOC.
Если оно выше, чем группа полей запроса спецификации (раз уж ты берешь данные оттуда), то ошибка частоты группы будет.

Использование переменных на примере формы счета-фактуры, см. картинки.

1. В "Программы" добавляется пакет, только спецификация. С соответствующими переменными.
2. В них селектится нужное.
3. Использовать их можно в формулах любого уровня, на частоту группы ругаться не должно.

Вместо переменных пакета можно добавить свое в "Модель данных - Параметры пользователя".
Использовать аналогично.

Если данные используются исключительно однократно, можно не возиться с созданием переменных.
1. Селект из afterpform вынести в отдельный запрос Q3 (аналогично Q2 на твоем скриншоте)
2. На форму кинуть отдельный r.frame с группой Q3
3. В него положить поля с данными из Q3.
Миниатюры
Нажмите на изображение для увеличения
Название: пакет.jpg
Просмотров: 569
Размер:	118.0 Кб
ID:	1131   Нажмите на изображение для увеличения
Название: селект.jpg
Просмотров: 568
Размер:	85.2 Кб
ID:	1132   Нажмите на изображение для увеличения
Название: поле.jpg
Просмотров: 555
Размер:	140.1 Кб
ID:	1133  
13.02.2012 22:09
vdm
 
Цитата:
vdm Если данные используются исключительно однократно ...
Сильно перемудрено.
Почти всегда достаточно одного поля с формулой, где текст при необходимости собирается из нескольких частей. Что собственно и можно видеть в скриншоте поля заголовка.
15.02.2012 05:48
Danil_
 
Вот так SUPPLIERDOC располагается в объектном навигаторе

15.02.2012 10:01
vdm
 
Речь шла о связи поле F_SUPPLIERDOC - его данные.
Еще раз.
Ошибка
Цитата:
REP-1213: Поле 'F_SUPPLIERDOC' ссылается на столбец 'supplierdoc' с частотой ниже его группы.
Т.е., чтобы поле F_SUPPLIERDOC могло использовать данные из G_SPECITEM, оно должно находиться внутри фрейма, для которого источником данных является группа G_SPECITEM или любая другая, выше чем G_SPECITEM.

Все же выбрось ты supplierdoc из запроса спецификации и сделай уж что нибудь из [глобальная переменная | формула].
16.02.2012 08:00
Danil_
 
Я не понимаю вас... Путаюсь в терминах.
Я создал отчет заново. Чистенький запрос только с нужными мне 3 полями.

Код:
SELECT
sm.supplierdoc,
sm.supplierinvoice,
sm.supplinvoicecreate
FROM 
supermag.smwaybillsin sm


Затем добавил поле F_1, которое я хочу, чтобы отображало данные из стобца и указал в палитре свойств источник supplierdoc.

И он выдал ту же самую ошибку.

Это 3 действия. Что из них я делаю не так? Или какое-то пропустил может быть?
Что нужно сделать, чтобы у меня заработал мой отчет? Хотя бы вот этот простенький, который я начал заново, потом уже разберусь и добавлю это поле в нужный.

Не понимаю как создать глобальную переменную.
А выбросить supplierdoc из запроса спецификации значит просто удалить строку в селект из запроса Q_1 в моем отчете?
16.02.2012 09:28
Danil_
 
Разобрался, практически, по крайней мере повторящийся фрейм сделал и теперь отчет ошибку не выдает, но и поле пустое, буду разбираться что в запросе не так
Часовой пояс GMT +3, время: 07:36.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.