Имя: Пароль:
1C
1С v8
Управляемые формы, нужна помощь
0 1634344
 
12.12.13
11:16
&НаСервере
Функция НайтиЭлемент(Элемент1)
    перСклад = Справочники.Склады.НайтиПоНаименованию(Элемент1).ПолучитьОбъект    
    возврат(перСклад);
КонецФункции

&НаКлиенте
Процедура НоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    пер18=ВыбранноеЗначение.склад;
    Пер19 = НайтиЭлемент(пер18);
    Объект.Склад = Пер19;
КонецПроцедуры

Необходимо на форме в элементе склад, отобразить значение пер19. В работе с управляемыми формами новичок,  так что сильно не пинайте.
1 Wobland
 
12.12.13
11:17
что это за такое?
2 Asmody
 
12.12.13
11:19
просили сильно не пинать, а придётся
3 Borteg
 
12.12.13
11:19
(0) 5 баллов)
4 Wobland
 
12.12.13
11:20
(2) а куда? что-то я придумать даже не могу
5 х86
 
12.12.13
11:21
хз конечно, но мошт угадаю

&НаСервере
Функция НайтиЭлемент(Элемент1)
    возврат(Элемент1.Склад);
КонецФункции

&НаКлиенте
Процедура НоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Объект.Склад = НайтиЭлемент(ВыбранноеЗначение);
КонецПроцедуры
6 maksim358
 
12.12.13
11:21
(0) в чем проблема то?))
7 Wobland
 
12.12.13
11:21
о! склад - это правильный реквизит номенклатуры. задолженность перед контрагентом добавь ещё
8 maksim358
 
12.12.13
11:24
(7) еще остаток в него впихнуть надо))
9 Fedor-1971
 
12.12.13
11:24
посмотри отладчиком состав ВыбранноеЗначение, и вполне возможно хватит:
Объект.Склад = ВыбранноеЗначение.склад
10 Defender aka LINN
 
12.12.13
11:27
(9) На клиенте? Удачи, чо.
11 Fedor-1971
 
12.12.13
11:30
(10) смотря что содержится в ВыбранноеЗначение
12 1634344
 
12.12.13
11:30
(8) Остаток конечно там есть :) как же без него
(9) не катит
а как сделал я, вываливается ошибка несоответствия типов при передачи с сервера на клиент.
А вообще это обработка подпора номенклатуры, и хочу что бы на форме накладной в поле элемента склад отображался склад,переданный из формы подбора номенклатуры.
13 Wobland
 
12.12.13
11:31
откуда у номенклатуры взялся склад?
14 2Sides
 
12.12.13
11:32
&НаКлиенте

Объект (Object)
Использование:
Только чтение.
15 1634344
 
12.12.13
11:35
(13) в форме подбора номенклатуры, указывается склад, а затем передается в структуру. А в форме накладной соответственно считываю  ВыбранноеЗначение.склад. Отладчиком проверял значение есть, и проверял вызов процедуры НайтиЭлемент(Элемент1), возвращаемый результат ссылка
16 2Sides
 
12.12.13
11:36
(15) Ты пытаешься объект изменить на клиенте, в УФ этого нельзя сделать. Хочешь менять объект, вызывай серверные процедуры
17 1634344
 
12.12.13
11:37
Документ.РасходнаяНакладная.Форма.ФормаДокумента1.Форма(45)}: Ошибка при вызове метода контекста (НайтиЭлемент)
    Пер19 = НайтиЭлемент(пер18);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
18 Wobland
 
12.12.13
11:44
19 2Sides
 
12.12.13
11:52
(17)
&НаКлиенте
Процедура Изменить(Команда)
    НашаНоменклатура = НайтиНоменклатуру(Объект.Данные);
    ВывестиНоменклатуру(НашаНоменклатура);
КонецПроцедуры

&НаСервере
Функция НайтиНоменклатуру(Наименование)
    Возврат Справочники.Номенклатура.НайтиПоНаименованию(Наименование)
КонецФункции

&НаСервере
Процедура ВывестиНоменклатуру (Номенклатура)
    Объект.Данные = Номенклатура.Наименование;
КонецПроцедуры
20 1634344
 
12.12.13
11:56
(17) сделал так, но теперь и ошибки нет, и поле не склад на форме пустое.
&НаСервере
Процедура Проц1(Элемент1)
    Объект.Склад = Справочники.Склады.НайтиПоНаименованию(Элемент1).ПолучитьОбъект();
КонецПроцедуры

&НаКлиенте
Процедура НоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    Проц1(ВыбранноеЗначение.склад);
КонецПроцедуры
теперь как я понимаю необходимо на клиенте обновить значение элемента склад на форме
21 2Sides
 
12.12.13
12:07
Сделай адаптацию кода под свои нужды который я привел выше и не надо будет ничего обновлять %)
22 1634344
 
12.12.13
12:24
(21) большое спасибо за помощь !!!
Закон Брукера: Даже маленькая практика стоит большой теории.