Имя: Пароль:
1C
1С v8
Помогите разобраться с подчиненным справочником
,
0 ldgrad
 
22.03.14
21:02
Выборка=Результат.Выбрать();  
        Пока Выборка.Следующий()=1 Цикл
            
            Контр = Справочники.Поставщики;
            
            Если Контр.НайтиПоРеквизиту("Контрагент",Контрагент,,Выборка.Ссылка)=1 Тогда  
                
                Контр.Наличие=фНаличие;
                Контр.Цена=фЦена;
                Контр.Количество=фКоличество;
                Контр.Записать();
            Иначе
                
                Контр.СоздатьЭлемент();
                Контр.Контрагент=Контрагент;
                Контр.Наличие=фНаличие;
                Контр.Цена=фЦена;
                Контр.Количество=фКоличество;
                Контр.Владелец=Выборка.Ссылка;
                Контр.ИД=Модель;
                
                Контр.Записать();
            КонецЕсли;
            
            РезультатПоиска=1;
            
        КонецЦикла;
Выдает ошибку:
{Документ.ЧтениеПрайса.Форма.ФормаДокумента.Форма(33)}: Поле объекта не обнаружено (Контрагент)
1 PR
 
22.03.14
21:03
Все правильно
2 ldgrad
 
22.03.14
21:03
Убираю в Коментарии контрагент
Тоже самое только уже с реквизитом Наличие...
Не могу разобраться почему?
3 zak555
 
22.03.14
21:04
Если Контр.НайтиПоРеквизиту("Контрагент",Контр ,,Выборка.Ссылка) Тогда
4 ldgrad
 
22.03.14
21:04
(1) Почему?
5 ldgrad
 
22.03.14
21:05
(3) Не понял?
6 ldgrad
 
22.03.14
21:15
(3) Здесь ищет элементы подчиненного справочника владельцем которого является Выборка.Ссылка что там не так:
7 butterbean
 
22.03.14
21:20
(6) надо так:
НовыйПоставщик = Контр.СоздатьЭлемент();
НовыйПоставщик.Контрагент = ..... и т.д.
8 ldgrad
 
22.03.14
22:01
Сейчас пока разберался с найтипореквезиту переделал на вот так
Контр = Справочники.Поставщики;
            Товар=Выборка.Получить();
            Если Контр.НайтиПоРеквизиту("Контрагент",Контрагент,,Товар)=1 Тогда  

и стало выдавать ошибку вот такую:

{Документ.ЧтениеПрайса.Форма.ФормаДокумента.Форма(23)}: Недостаточно фактических параметров
9 PR
 
22.03.14
22:17
Сидел, сидел, складывал инфу из разных постов с целью получить общую картину, где строчка 23, где 33, что не работает, почему, надоело.
10 ldgrad
 
22.03.14
22:29
(9) ) все уже работает :) тяжело мне дается просто 8.2
11 Torquader
 
22.03.14
22:30
Мы ищем в справочнике "Поставщики" элемент, подчинённый Выборка.Ссылка, а также передаём ссылку на сам элемент ?
12 hhhh
 
22.03.14
22:31
Выборка.Получить(); - это совершенно дикое выражение.
Как вообще могло в голов прийти, такой бред.
13 ldgrad
 
22.03.14
22:38
(12) О ко мне и не только такие мысли в голову приходят ) Я стараюсь )
14 Torquader
 
22.03.14
22:39
(12) Семёрку уже забыли ?
Там только так и работали.
15 ldgrad
 
22.03.14
22:41
Я все уже забыл
16 Torquader
 
22.03.14
22:44
(15) Это очень плохо - те, кто забывают прошлое - два раза наступают на одни и те же грабли (и не уверен, но, наверное, и больше двух бывает).
17 Tateossian
 
23.03.14
02:33
Жесть. Запрос в цикле.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.