Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

отбор в подчиненном справочнике

отбор в подчиненном справочнике
Я
   Elf56
 
06.03.18 - 09:21
Всем доброго времени суток.

Имеется 1С:Предприятие 8.3 (8.3.10.2667) 
И самописная конфигурация 

Есть справочник "Основной" и подчиненный ему справочник "Подчиненный".
Справочник "Подчиненный" отображается на форме справочника "Основной" с отбором по владельцу формы обычные.

Также в процедуре "При получении данных" в табличной части отображающей "Подчиненный" справочник есть запрос получающий по определенному условию элементы подчиненного справочника владельца.

Далее полученный список помещается в такое условие
ТаблицаПодчиненногоСправочника.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; 
ТаблицаПодчиненногоСправочника.Отбор.Ссылка.Значение = СпПозиции; 
ТаблицаПодчиненногоСправочника.Отбор.Ссылка.Использование = Истина; 
ЭлементыФормы.ТаблицаПодчиненногоСправочника.НастройкаОтбора.Ссылка.Доступность = Истина; 

где СпПозиции массив полученный из запроса. 

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

И еще мне нужно в процедуре "ПриВыводеСтроки" использовать параметр ДанныеСтроки.Ссылка, но почему то если в табличной части подчиненного справочника интерактивно из формы по стандартной кнопке табличной части отлючить отбор то параметр ДанныеСтроки становится равным НЕОПРЕДЕЛЕНО, а в процедуре у меня есть обращение к ДанныеСтроки.Ссылка, соответственно при отлючении отбора вываливается ошибка. Если Сделать проверку типо

Если НЕ ДанныеСтроки = НЕОПРЕДЕЛЕНО Тогда 

то отлючение отбора по кнопке, получаемого в процедуре "ПриПолученииДанных" не происходит. 

Как организовать правильно дополнительный отбор в подчинном справочнике по мимо отбора по владельцу и чтобы отлючение этого дополнительного отбора работало корректно в моем случае.
Всем заранее спасибо за ответы.
 
 
   hhhh
 
1 - 06.03.18 - 09:37
(0) вам надо ПриАктивизацииСтроки. ПриПолученииДанных она сразу целый экран выводит, зачем вам 20 элементов сразу обрабатывать?
   catena
 
2 - 06.03.18 - 10:06
(0)Может быть, установка отбора зацикливает ПриПолученииДанных?
   Ёпрст
 
3 - 06.03.18 - 10:18
(0) ёё...
выкинь свой код на помойку.

У  табличного поля на форме, в котором у тебя подчиненный справочник, поставь свойство "Связь по владельцу" и воткни туда ССылка.
Всё.
   Elf56
 
4 - 06.03.18 - 10:30
Это не мой код дали исправить

Там уже стоит "связь по владельцу" просто к ней еще прибавляется условие из процедуры ПриПолученииДанных
   Ёпрст
 
5 - 06.03.18 - 10:32
(4) в ПриПолученииДанных отбор устанавливаешь ? - не удивительно
   Elf56
 
6 - 06.03.18 - 10:34
(5) а как надо ?
   Ёпрст
 
7 - 06.03.18 - 10:38
Хотя бы в ПриОткрытии установить отбор 1 раз, ну и максимум, в ПослеЗаписи
   catena
 
8 - 06.03.18 - 10:38
(6)Тебе ОТБОР нужен в процедурах, которые постоянно отрабатывают при насиловании поля на форме или все-таки один раз достаточно при открытии формы?
   Ёпрст
 
9 - 06.03.18 - 10:39
усё.
   hhhh
 
10 - 06.03.18 - 10:40
(6) ну ты бесконечный цикл инициируешь. ПриПолученииДанных ты меняешь отбор, а при изменении отбора программа естественно получает новые данные, опять запускается ПриПолученииДанных, по второму разу, оно опять меняет отбор, потом запускается третье ПриПолученииДанных, и так до бесконечности. Должно у тебя уйти в бесконечную рекурсию. Непонятно, почему у тебя вообще этот кусок работает, видимо ты везунчик.
 
 Рекламное место пустует
   Elf56
 
11 - 06.03.18 - 10:41
Спасибо хот мыслей понял.
Да говорю же не я писал заметил, что косяк вот и начал в нем разбираться, а не тупо писать как программер до меня )

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует