|   |   | 
| 
 | отбор в подчиненном справочнике | ☑ | ||
|---|---|---|---|---|
| 0
    
        Elf56 06.03.18✎ 09:21 | 
        Всем доброго времени суток. 
 Имеется 1С:Предприятие 8.3 (8.3.10.2667) И самописная конфигурация Есть справочник "Основной" и подчиненный ему справочник "Подчиненный". Справочник "Подчиненный" отображается на форме справочника "Основной" с отбором по владельцу формы обычные. Также в процедуре "При получении данных" в табличной части отображающей "Подчиненный" справочник есть запрос получающий по определенному условию элементы подчиненного справочника владельца. Далее полученный список помещается в такое условие ТаблицаПодчиненногоСправочника.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; ТаблицаПодчиненногоСправочника.Отбор.Ссылка.Значение = СпПозиции; ТаблицаПодчиненногоСправочника.Отбор.Ссылка.Использование = Истина; ЭлементыФормы.ТаблицаПодчиненногоСправочника.НастройкаОтбора.Ссылка.Доступность = Истина; где СпПозиции массив полученный из запроса. И вот что удивительно если запустить 1с то все будет работать верно, но процедуры "ПриВыводеСтроки" и "ПриПолученииДанных" будут срабатывать каждую секунду, Если же закоментировать выше указанный код т.е. не добавлять еще одного условия то процедуры не будут вызываться каждую секунду. Почему так получается? И еще мне нужно в процедуре "ПриВыводеСтроки" использовать параметр ДанныеСтроки.Ссылка, но почему то если в табличной части подчиненного справочника интерактивно из формы по стандартной кнопке табличной части отлючить отбор то параметр ДанныеСтроки становится равным НЕОПРЕДЕЛЕНО, а в процедуре у меня есть обращение к ДанныеСтроки.Ссылка, соответственно при отлючении отбора вываливается ошибка. Если Сделать проверку типо Если НЕ ДанныеСтроки = НЕОПРЕДЕЛЕНО Тогда то отлючение отбора по кнопке, получаемого в процедуре "ПриПолученииДанных" не происходит. Как организовать правильно дополнительный отбор в подчинном справочнике по мимо отбора по владельцу и чтобы отлючение этого дополнительного отбора работало корректно в моем случае. Всем заранее спасибо за ответы. | |||
| 1
    
        hhhh 06.03.18✎ 09:37 | 
        (0) вам надо ПриАктивизацииСтроки. ПриПолученииДанных она сразу целый экран выводит, зачем вам 20 элементов сразу обрабатывать?     | |||
| 2
    
        catena 06.03.18✎ 10:06 | 
        (0)Может быть, установка отбора зацикливает ПриПолученииДанных?     | |||
| 3
    
        Ёпрст гуру 06.03.18✎ 10:18 | 
        (0) ёё...
 выкинь свой код на помойку. У табличного поля на форме, в котором у тебя подчиненный справочник, поставь свойство "Связь по владельцу" и воткни туда ССылка. Всё. | |||
| 4
    
        Elf56 06.03.18✎ 10:30 | 
        Это не мой код дали исправить
 Там уже стоит "связь по владельцу" просто к ней еще прибавляется условие из процедуры ПриПолученииДанных | |||
| 5
    
        Ёпрст гуру 06.03.18✎ 10:32 | 
        (4) в ПриПолученииДанных отбор устанавливаешь ? - не удивительно     | |||
| 6
    
        Elf56 06.03.18✎ 10:34 | 
        (5) а как надо ?     | |||
| 7
    
        Ёпрст гуру 06.03.18✎ 10:38 | 
        Хотя бы в ПриОткрытии установить отбор 1 раз, ну и максимум, в ПослеЗаписи     | |||
| 8
    
        catena 06.03.18✎ 10:38 | 
        (6)Тебе ОТБОР нужен в процедурах, которые постоянно отрабатывают при насиловании поля на форме или все-таки один раз достаточно при открытии формы?     | |||
| 9
    
        Ёпрст гуру 06.03.18✎ 10:39 | 
        усё.     | |||
| 10
    
        hhhh 06.03.18✎ 10:40 | 
        (6) ну ты бесконечный цикл инициируешь. ПриПолученииДанных ты меняешь отбор, а при изменении отбора программа естественно получает новые данные, опять запускается ПриПолученииДанных, по второму разу, оно опять меняет отбор, потом запускается третье ПриПолученииДанных, и так до бесконечности. Должно у тебя уйти в бесконечную рекурсию. Непонятно, почему у тебя вообще этот кусок работает, видимо ты везунчик.     | |||
| 11
    
        Elf56 06.03.18✎ 10:41 | 
        Спасибо хот мыслей понял.
 Да говорю же не я писал заметил, что косяк вот и начал в нем разбираться, а не тупо писать как программер до меня ) | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |