Имя: Пароль:
1C
1С v8
передача в параметр открываемой формы значение дополнительного реквизита
0 Kurbash
 
26.12.14
07:07
Всем привет. в справочнике Номенклатура завел новую форму, которая открывается по кнопке, хочу передать на нее параметры-код элемента справочника и значение дополнительного реквизита.

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

поскольку форму открываю на клиенте, сделал ОМ Мой_ОМ с такой функцией:

&НаСервере
Функция ВозвратКодаДляПланирования(форма) экспорт
    СвойствоПВХ = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Заголовок","Мой реквизит");
        Если СвойствоПВХ <> ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ПустаяСсылка() Тогда
            
            МассивСтрок = форма.Свойства_ОписаниеДополнительныхРеквизитов.НайтиСтроки(Новый Структура("Свойство", СвойствоПВХ));
            
            Если МассивСтрок.Количество() > 0 Тогда
                ИмяДопРеквизита = МассивСтрок[0].ИмяРеквизитаЗначение;
                ДопРеквизит = Форма[ИмяДопРеквизита];
            КонецЕсли;
        КонецЕсли;
Возврат ДопРеквизит;
    конецфункции

при попытке открыть форму пишет что метод не обнаружен. Что не так делаю?
1 Kurbash
 
26.12.14
07:18
апну
2 Defender aka LINN
 
26.12.14
07:29
Мы дожны угадать, какой именно метод не обнаружен?
3 Kurbash
 
26.12.14
07:32
сорри,Мой_ОМ.ВозвратКодаДляПланирования(ЭтаФОрма)
4 Defender aka LINN
 
26.12.14
07:33
(3) И давно в общих модулях всяческие &НаСервере работать начали?
5 Kurbash
 
26.12.14
07:38
Если &Сервере убрать то

СвойствоПВХ = <<?>>ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Заголовок","Мой реквизит"); (Проверка: Тонкий клиент)

не работает
6 Oleg_ka
 
26.12.14
07:41
(5) А если в свойствах ОМ поставить галочку "Сервер"?
7 Kurbash
 
26.12.14
07:42
(6) а стоит
8 Oleg_ka
 
26.12.14
07:48
А если функцию НЕ выносить в общий модуль?
9 Oleg_ka
 
26.12.14
07:51
Как бы. Вот у Вас есть форма(1) из которой по кнопке открывается другая форма(2).
Вот если в форма(1) сделать это функцию - оно так работает?
10 Kurbash
 
26.12.14
07:54
(8,9) дпа, это очень хороший и самый просто вариант, просто стараюсь затрагивать конфигурацию по минимуму, чтобы при обновлении не морочиться, поэтому и хочу оперировать общими модулями
11 Kurbash
 
26.12.14
07:58
сейчас поставил галку вызов сервера стал ругаться что Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
12 Oleg_ka
 
26.12.14
08:02
Еще вопрос - а обязательно передавать именно ЭтаФорма иди достаточно некоего реквизита?
13 Kurbash
 
26.12.14
08:06
а как иначе? мне нужно значение реквизита дополнительного, передаю форму с нее читаю. Была мысль передать объект, а если это новый объект и он не записан? Записывать при передаче параметров...хм, а мысль