Установить отбор в справочнике по реквизиту программно #271647


#0 by del_sun
если бы мы находились в фоме списка справоника - то став на одно из значений и нажав бы кнопку отобрать по колонке - получили бы выборку из всего справочника только по этому элементу. Так вот нужно сделать тоже самое программно. пока почему то ничего не отбирается.
#1 by ОбдолбанныйВася
через как не отбирается?
#2 by Программист 484
Сортировать по ?
#3 by Программист 484
установитьотбор ?
#4 by del_sun
прмДействия.ВыбратьЭлементыПоРеквизиту("Справочник",прмСправочник.текущийЭлемент,0,0); это был первый способ а вторым попробовала прмДействия.УстановитьОтбор("Справочник",прмСправочник.текущийЭлемент);
#5 by ОбдолбанныйВася
УстановитьОтбор+ctrl+F1
#6 by del_sun
ну установить отбор вообще не работает, поскольку он доступен только в контексте модуля формы списка - а я пытаюсь вызвать его из внешнего отчёта. А попробовала вообще его с мыслью "А вдруг"
#7 by Программист 484
А прри открытии этого списка можно передать параметр и будет установлен отбор
#8 by ОбдолбанныйВася
а теперь с чуйством, толком, расстановкай ИЛИ
#9 by del_sun
(7,8) да мне не нужно открывать фотму списка! Есть справочник "Действия" в который записывается все манипуляции над каким нить объектом (в данном случае элементе справочника скажем Товары) Вот мы пометили Элемент справочника Товары на удалениеЮ, а в Дейсвиях прописалось "Удалён" тем то и тем то. А теперь вот решили почистить справочники и совсем удалить помеченные на удаление элементы. Пока в спр Действия есть ссылки на этот элемент ничего не выйдет. Следовательно. Перебирая Справочник Товары и найдя там помеченный на удаление товар я хочу выбрать все записи в справочнике Действия и пометить на удление. Справочник действия не подчинён справочнику Товары.
#10 by Ёпрст2
#11 by del_sun
Привет да ну зачем мне форму открывать то ????
#12 by del_sun
Про форму написала, что б понятней было какой нужно получить результат!
#13 by del_sun
ну это ж должно быть просто, а меня почему то клинит :(
#14 by Ёпрст2
Салют ... Ну, если стоит сортировка и отбор у реквизита, то просто тупо Спр.ВыбратьПоРеквизиту...
#15 by Сдается мне
что решь идет о "ВыбратьЭлементыПоРеквизиту"
#16 by Программист 484
В твоем случае если форма уже открыта - то поможет приповторномоткрытии
#17 by Leksus
ну и в чем проблема то? Выбери запросом все элементы которые тебе надо удалить и пометь их на удаление!
#18 by del_sun
рррр Форму списка справочника я не открывала и открывать не буду, мне это не нужно - все действия проделываются внешней обработкой. Стоит сортировка и отбор по реквизиту, но блин всё время ничего не отбирает. Хотя быть такого не может. Возможна трабла с типами? тип реквизита "Справочник" в справочнике действий  = Справочник может емув начале нужно указать конктерно какой ?
#19 by del_sun
простите, может я конечно торможу, но результат запроса - это выборка, т.е. таблица какая то. Мне потом перебирая эту таблицу опять искать в справочнике - элементы и только тогда их удалять?
#20 by Программист 484
ВыбратьЭлементыПоРеквизиту("Справочник",прмСправочник.текущийЭлемент,0,0); Стоп а что такое у тебя "Справочник" ? ты уверена что это реквизит?
#21 by Программист 484
Может ВыбратьЭлементыПоРеквизиту("НАЗВАНИЕ РЕКВИЗИТА А НЕ СПРАВОЧНИКА?",прмСправочник.текущийЭлемент,0,0)
#22 by ОбдолбанныйВася
как в спр Действия проставляется признак "Удален"
#23 by Ёпрст2
Ничего не надо, нужно просто указать имя реквизита и значение.
#24 by del_sun
Мило конечно, но у меня реквизит справочника "Действия" называется "Справочник" поэтому там правильно написано
#25 by Программист 484
Тогда давай весь код посмотрим
#26 by Может так
#27 by del_sun
#28 by Программист 484
прмДействия ? это что за справочник - не написала а так вроде бы все правильно
#29 by Программист 484
а прмДействия - это не подчиненный справочник случайно?
#30 by Ёпрст2
Сообщить(прмДействия.ТекущийЭлемент);
#31 by del_sun
да писала и так - не сообщает ничего
#32 by del_sun
Читай выше - нет не подчинённый прмДействия определён как    прмДействия=СоздатьОбъект("Справочник.Действия"); там всё пучком
#33 by А что
сообщает "Сообщить(прмСправочник.ТекущийЭлемент);"
#34 by Программист 484
Объясни - почему у тебя 2 одинаковых справочника - "справочник.ДЕствия" и ты пытаешься каким-то образом установить отбор в это справочнике т.к. у тебя есть внутренний элемент "справочник" который тоже принадллежит "справочник.ДЕствия" ?
#35 by Программист 484
Мимо - проехали
#36 by Программист 484
Какой ВидСправоника - он у тебя выдает?
#37 by Ёпрст2
Вместо обзови его по другому, Рекв, к примеру ... не используй зарезирвированых слов в названиях...
#38 by Для 37
вообщето это никак не мешает.
#39 by Ёпрст2
А ты в запросе обратись к реквизиту с индетификатором Справочник .... Моветон это.
#40 by ОбдолбанныйВася
#41 by И что
какие там проблемы? Моветон это не ошибка.
#42 by Ёпрст2
Делайте ...потом как грабля по лбу - там и шишка :)
#43 by Ну повозможности
сделаю. Ну за граблю в этом месте первый раз слышу.
#44 by Ёпрст2
Дык это..., заходи сюда почаще, может и Пит чего про детловодство еще расскажет :)
#45 by del_sun
хм, удивительно, но почему то без Текущего элемента работает :) в общем поборола я эту хрень
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С