helpf.pro
Регистрация

хитрый отбор в форме списка документа

KamRay
01.02.2011 08:10Прочитано: 6380
Здравствуйте

Ситуация следующая: есть справочник Картотека, в котором присутствует булево поле Архив
Есть документ ПриемПациента, в котором одним из реквизитов выступает ссылка на данный справочник (реквизит-Пациент, тип-СправочникСсылка.Картотека)
Вопрос: можно ли в форме списка документа поставить отбор по значению поля Архив из справочника Картотека, т.е. отбор по Пациент.архив)
Это надо для того, чтобы при открытии списка документов ПриемПациента пользователь видел только тех пациентов, у которых значение Архив=ложь.
Насколько мне известно сделать это для динамических списков нельзя, но может кто то пытался решить подобную задачу?

Заранее благодарен.
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
01.02.2011 09:21Ответ № 1
(0) KamRay, сделать этот реквизит как колонку списка и по ней отбор
KamRay
02.02.2011 08:36Ответ № 2
(1) E_Migachev, Я пытался так делать
Добавил колонку архив:
ЭлементыФормы.ДокументСписок.Колонки.Добавить("архив");
и вытащил информацию, по которой мне нужен отбор:
ссылкаНаКритерийАрхива=ЭлементыФормы.ДокументСписок.ТекущаяСтрока.Пациент.Архив;
но при попытке добавить эту информацию в ячейку Архив сответствующей строки списка с пом. команды ЭлементыФормы.ДокументСписок.ТекущаяСтрока.пациент.архив= ссылкаНаКритерийАрхива появляется ошибка "Поле объекта не обнаружено (архив)"
Видимо это связано как раз с тем что у меня не простое табличное поле а динамический список ДокументСписок?
И в списке отбора формы поля Архив тоже нет.
Опыта программирования у меня не много, наверное я что то не так делаю?
E_Migachev
02.02.2011 09:44Ответ № 3
(2) KamRay, добавь эту колонку через конфигуратор, а далее раз у тебя ДокументСписок используй этот отбор
KamRay
02.02.2011 13:31Ответ № 4
(3) E_Migachev, так в том то и проблемма, что через конфигуратор я могу задать (через размещение данных для тестового поля) колонку только для реквизита Пациент, который содержится в Документе как справочникСсылка. А отбор мне нужен по значению Архив, которое содержится в справочнике Картотека, на который как раз и ссылается поле пациент.
E_Migachev
02.02.2011 16:12Ответ № 5
(4) KamRay, тогда вообще делай свой список, в котором выбирай запросом нужные тебе документы и выводи их!
KamRay
03.02.2011 01:02Ответ № 6
(5) E_Migachev, в том то и дело что речь идет именно о форме списка документа и отбор надо делать именно в нем. А с выборкой документов по нужному признаку через запрос проблем нет. И поместить результаты в табличное поле тоже получается, но в мен по двойному щелчку открывается не форма элемента для записи документа, а форма списка документа...так что прийдется делать процедуру на обработку данного события.
Но главный минус такого подхода в том, что при каждом вызове формы списка документа будет выполняться запрос, а документов там уже 300 000...
Но, в любом случае, спасибо за советы
E_Migachev
03.02.2011 09:43Ответ № 7
(6) сейчас попробую *17
Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.