Имя: Пароль:
1C
 
Как из ФормыДокумента открыть ФормуЭлемента справочника?
0 Олеся999
 
19.10.15
08:41
Возник вопрос как из ФормыДокумента (по событию Выбрать из ТЧ) открыть  
ФормуЭлемента справочника с тем же номером  ?
что я делаю не так ?)
http://lvkr.ru/AZyvsu.jpg

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

КонецПроцедуры
1 Fedor-1971
 
19.10.15
08:46
(0) Сначала НайтиПоРеквизиту, а потом передавай структуру с параметром "Ключ".
Если хочешь оставить свой алгоритм, то пиши в ПриСозданииНаСервере формы элемента справочника обработку твоего "номер" и заполнения формы данными из найденного элемента.
Что проще выбери сама.
2 ЛисИзЛеса
 
19.10.15
08:51
В колонке "№" какой тип? Строка (число) или ссылка?
Если строка (число), то (1).
Иначе Элементы.тч_Данные.ТекущиеДанные.
Весь смысл в том что бы найти ссылку на элемент.
3 Олеся999
 
19.10.15
08:54
(2) Номер 7 символов
4 Fedor-1971
 
19.10.15
08:58
(3) смысл (1) не изменился, найди ссылку и отправь её в форму.
Как найти - на выбор Запрос или НайтиПоРеквизиту.
5 Олеся999
 
19.10.15
08:59
6 Олеся999
 
19.10.15
09:04
(4)
СсылкаНаЭлементСправочника = Элементы.тч_Данные.ТекущиеДанные.номер;
ПараметрыФормы = Новый Структура("Номер", СсылкаНаЭлементСправочника);
Найти = Справочники.Приборы.НайтиПоРеквизиту(СсылкаНаЭлементСправочника,"Номер");
ОткрытьФорму("Справочник.Приборы.Форма.ФормаЭлемента", Найти);

Как то так ?
7 Fedor-1971
 
19.10.15
09:11
(6) Нет, примерно так:

&НаСервереБезКонтекста
Функция ПолучитьНужноеПоНомеру(Ном)
Возврат Справочники.Приборы.НайтиПоРеквизиту("номер", ном);
КонецФункции

ПараметрыФормы = Новый Структура("Ключ", ПолучитьНужноеПоНомеру(СсылкаНаЭлементСправочника));
дальше открываем форму.
[\1C]

И не называй ссылкой, то что ею не является - запутаешься.
8 Торин
 
19.10.15
09:11
(6) Не используйте служебные слова в качестве названия переменных. Проще говоря, переименуйте переменную "Найти"
9 Fedor-1971
 
19.10.15
09:15
(8) и не только через "." на клиенте
10 Mort
 
19.10.15
09:17
Попахивает данная архитектура решения сами знаете чем.
11 Fedor-1971
 
19.10.15
09:18
(10) ТС знает про битовую маску, а вот с остальным как-то по ходу не разобралась.
12 Олеся999
 
19.10.15
09:48
13 Олеся999
 
19.10.15
09:53
(12) Ой точнее вот этот хотела http://lvkr.ru/f/5Z6mNV/800.jpg
там  номер 0 стоит
14 Fedor-1971
 
19.10.15
09:59
(13) там не номер 0 стоит, а открыта пустая форма элемента справочника.
Значит либо не нашла (разные типы данных на форме и в справочнике) и в результате получила пустую ссылку, либо криво передала Ключ.
Отладчик тебе поможет.
15 Олеся999
 
19.10.15
10:07
16 Fedor-1971
 
19.10.15
10:45
(15) Вот же ж, пустой у тебя ключ, ПУСТОЙ - так понятнее?
Проверяй параметры поиска или переделай поиск на запрос.
За сим, Аминь.
17 Олеся999
 
19.10.15
11:16
Возврат Справочники.Приборы.НайтиПоКоду(Ном);
так норм (16) Спасибо
Ошибка? Это не ошибка, это системная функция.