Имя: Пароль:
1C
1С v8
Недопустимое значение параметра (параметр номер '1')
,
0 _Dim_AS_
 
27.05.18
15:17
Прохожу обучение "ВВедение в конфигурирование 1С", уро 31, регистры сведений, у меня возникла проблема.

{Документ.ПриходнаяНакладная.Форма.ФормаДокумента1.Форма(28)}: Ошибка при вызове метода контекста (Получить)
РезультатПоиска = РегистрыСведений.ЦеныПоставщиков.Получить(СтруктураПоиска);
по причине:
Недопустимое значение параметра (параметр номер '1')
Недопустимое значение параметра (параметр номер '1')

При выполнении кода (там где 3 восклицательных знака, в рабочем коде конечно их нет) возникает ошибка:

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
    СтрокаРасчета = Элементы.Товары.ТекущиеДанные;
    СтрокаРасчета.Цена = ПолучитьЦену(СтрокаРасчета.Номенклатура);/// Вставить содержимое обработчика.
    ТоварыЦенаПриИзменении(Элемент);
КонецПроцедуры

&НаСервере
Функция ПолучитьЦену(ТоварИзДокумента)
СтруктураПоиска = Новый Структура;                            
СтруктураПоиска.Вставить("Номенклатура",ТоварИзДокумента);
СтруктураПоиска.Вставить("Котрагент",Объект.Контрагент);
СтруктураПоиска.Вставить("Договор",Объект.Договор);

!!! РезультатПоиска = РегистрыСведений.ЦеныПоставщиков.Получить((СтруктураПоиска);

Возврат РезультатПоиска.Цена;

КонецФункции


Помогите пожалуйста
1 okmail
 
27.05.18
15:24
открывающаяся скобка лишняя?
2 Остап Сулейманович
 
27.05.18
15:24
(0) "ВВедение в конфигурирование 1С" нет под рукой.
РегистрыСведений.ЦеныПоставщиков - периодический?
3 drei
 
27.05.18
15:30
(0) > СтруктураПоиска.Вставить("Котрагент",Объект.Контрагент);

Я бы начал вот отсюда.
4 _Dim_AS_
 
27.05.18
16:57
okmail
1 - 27.05.18 - 15:24
открывающаяся скобка лишняя?

прошу прощения:

строка РезультатПоиска = РегистрыСведений.ЦеныПоставщиков.Получить((СтруктураПоиска);

правильно пишется  

РезультатПоиска = РегистрыСведений.ЦеныПоставщиков.Получить(СтруктураПоиска);


но ошибка не в скобке
5 _Dim_AS_
 
27.05.18
16:59
я бы мог отправить конфу в которой выполняется код, весит 3,5 мегабайта
6 _Dim_AS_
 
27.05.18
17:01
Может кто-нибуть проанализировать ? спецу, я думаю потребуется не более 3-5 минут чтобы разобраться, конфигурацию очень короткая.
7 _Dim_AS_
 
27.05.18
17:04
drei
3 - 27.05.18 - 15:30
(0) > СтруктураПоиска.Вставить("Котрагент",Объект.Контрагент);

Я бы начал вот отсюда.

а в чем здесь проблема?
8 _Dim_AS_
 
27.05.18
17:06
программа не понимает к какому документу обращение происходит?
9 _Dim_AS_
 
27.05.18
17:10
Правильный код:

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
    СтрокаРасчета = Элементы.Товары.ТекущиеДанные;
    СтрокаРасчета.Цена = ПолучитьЦену(СтрокаРасчета.Номенклатура);/// Вставить содержимое обработчика.
    ТоварыЦенаПриИзменении(Элемент);
КонецПроцедуры

&НаСервере
Функция ПолучитьЦену(ТоварИзДокумента)
СтруктураПоиска = Новый Структура;                            
СтруктураПоиска.Вставить("Номенклатура", ТоварИзДокумента);
СтруктураПоиска.Вставить("Котрагент", Объект.Контрагент);
СтруктураПоиска.Вставить("Договор", Объект.Договор);

!!! РезультатПоиска = РегистрыСведений.ЦеныПоставщиков.Получить(СтруктураПоиска);

Возврат РезультатПоиска.Цена;

КонецФункции




самое интересное, что этот код я точно взял из видиоурока, только в уроке он срабатывает, а у меня нет.

1С:Предприятие 8.3 (8.3.7.1759)
10 quest
 
27.05.18
19:54
Значит регистр не так сделал. В отбор вставляется только значение измерений (на реквизиты и ресурс не накладывается)
11 hhhh
 
27.05.18
20:07
(9) неужели в видеоуроке пишут "Котрагент"?
12 _Dim_AS_
 
29.05.18
11:47
hhhh
11 - 27.05.18 - 20:07
(9) неужели в видеоуроке пишут "Котрагент"?

Спасибо! Вы правы. В тот же день нашел. Просто глаз уже замылился. Спасибо всем. Тему можно закрывать.