Страница 1 из 1

Вытащить поле в отчет не из прототипа

Добавлено: 27 апр 2012, 18:03
Serg7907
Добрый день! Возникла такая ситуация: в модуле "Спецоснастка" - Документы - Ввод в эксплуатацию открываю документ, добавляю конфигуратором новое поле "Инвентарный номер" (MBPIN.DOPINFO) - этого поля нет в прототипе, сохраняю изменения и хочу, чтобы это значение печаталось в отчете.
Вот код, где я пытаюсь это сделать:

.linkform 'Move_MBP_03' prototype is Move_MBP
.Group 'Ввод в эксплуатацию'
.Group 'Ввод в эксплуатацию. Россия.'
.NameInList 'MyForm'
.var
invnomer:string
.endvar

.create view v1
as select *
from MBPIN,MBPMOVE
WHERE (MBPMOVE.NREC=MBPIN.CSOPR AND MBPMOVE.NREC=DocNrec) ;
.fields
invnomer
.endfields

.begin
invnomer:= v1.MBPIN.DOPINFO;
end.
^

Но ничего не выводится. Помогите, пожалуйста, разобраться!

Re: Вытащить поле в отчет не из прототипа

Добавлено: 27 апр 2012, 19:21
Dmitry_Sol
В вашем коде не хватает позиционирования на первую запись - getfitst
попробуйте что то вроде этого.

Код: Выделить всё

.begin
if v1.getfirst mbpin=TsOk
invnomer:= v1.MBPIN.DOPINFO;
else
invnomer:='';
end.

Re: Вытащить поле в отчет не из прототипа

Добавлено: 27 апр 2012, 19:42
Serg7907
Не помогло. Такое ощущение, что в запросе не отрабатывается блок со ссылками в представлении v1, как будто не цепляет поле таблицы и поле из прототипа.

Re: Вытащить поле в отчет не из прототипа

Добавлено: 27 апр 2012, 20:36
Алексей
нет подцепки на mbpmove, найдите поле в прототипе типа нрека документа и подцепите ... == mbpmove.nrec

Re: Вытащить поле в отчет не из прототипа

Добавлено: 27 апр 2012, 20:39
edward_K
1. кто вас учил запросы писать? В галке они слегка(очень) по другому пишутся, иначе идет неиндексный поиск
2. выведите через message или logstrtofile поле отчета, которое вы используете для фильтра.
Тут вопрос где вы используете программный блок - надо только в том же цикле где идет вывод поля, или позже. Если раньше то будет 0 - обычно в логе компиляции об это предупреждение.