Имя: Пароль:
1C
1С v8
1Cv3 Как открыть форму справочника конеретного элемента?
,
0 Slepoi7
 
24.09.14
10:44
Если в 1Сv2 было просто:
        ЭлСпр = Справочники.Контрагенты.НайтиПоКоду(СпрКод);
      фрм = ЭлСпр.ПолучитьФорму();
      фрм.Открыть();
.... то в 1Сv3 не проходит - что-то не идёт на Клиенте, что-то на Сервере.... и никак не соединить!!! что делать ?
1 Господин ПЖ
 
24.09.14
10:45
почитать буквари по разработке в УФ
2 ДенисЧ
 
24.09.14
10:45
О_о

Палеоархеолог пришёл...
3 Wobland
 
24.09.14
10:45
открой значение
4 Wobland
 
24.09.14
10:46
(3) можно даже полученное с сервера
5 Defender aka LINN
 
24.09.14
10:46
1Сv3
Это что за зверь?
6 Зеленый пень
 
24.09.14
10:46
(2) Это соответствует его возрасту в личке.
7 Господин ПЖ
 
24.09.14
10:46
(6) исследует каки мамонта и баяны наощупь?
8 Wobland
 
24.09.14
10:47
(5) это как 1Cv2, только v3
9 Slepoi7
 
24.09.14
10:50
.... ну а теперь помощь !.... или никак ?
10 Wobland
 
24.09.14
10:50
(9) какое слово не понятно?
11 Slepoi7
 
24.09.14
10:52
просто нужен пример из 3-5 строк для открытия формы элемента.
12 Зеленый пень
 
24.09.14
10:52
Разработка и администрирование
1С:Предприятие 8.3. Документация
7.8.1. Открытие формы

http://its.1c.ru/db/v83doc#bookmark:dev:TI000000440
13 silent person
 
24.09.14
10:52
(9) находи элемент справочник на сервере и передавай найденное значение на клиента, а там уже открывай форму
14 Килограмм
 
24.09.14
10:53
15 ДенисЧ
 
24.09.14
10:54
ОткрытьЗначение() не?
16 Wobland
 
24.09.14
10:55
ничо так пример..

Доступность:

Тонкий клиент, веб-клиент.
Пример:

Товар = Справочники.Номенклатура.НайтиПоКоду(КодТовара);
ПоказатьЗначение(,Товар);
17 Зеленый пень
 
24.09.14
10:57
(14) Прикольная страничка.
Чем меня восторгает сайт 1С - никогда не найти то, что нужно.
А как на эту страницу попасть с главной?
18 Килограмм
 
24.09.14
11:00
(17) это была по гуглу первая ссылка, с главное попасть не знаю как :)
19 Господин ПЖ
 
24.09.14
11:02
>Чем меня восторгает сайт 1С - никогда не найти то, что нужно.

+1
20 Wobland
 
24.09.14
11:03
Методическая поддержка - начинающим разработчикам. пока так ;)
21 Зеленый пень
 
24.09.14
11:17
(20) Ох, надо было через верхнее меню, а я слева тыкал-тыкал....
22 arccos6pi
 
24.09.14
11:34
(15) +1
23 Slepoi7
 
24.09.14
12:51
&НаКлиенте
// -----------------------------------
     Парам = Новый Структура("Код", "01-000181");
     ОткрытьФорму("Справочник.Контрагенты.ФормаОбъекта", Парам);    
... и открывается не конкретный элемент справочника, а пустая форма элемента справочника для заполения .... ((
// -----------------------------------
24 Рэйв
 
24.09.14
12:54
(23)Это потому что Парам ты передаешь в новую открытую форму, а она смотрит на тебя в удивлении и не знает что с этим делать
25 Asmody
 
24.09.14
12:55
(23) Парам = Новый Структура("Ключ", Справочник.Контрагенты.НайтиПоКоду("01-000181"));
26 Asmody
 
24.09.14
12:55
(25)+ но так делать не надо
27 Рэйв
 
24.09.14
12:56
Как вариант;
получи с сервера ссылку, получи у ссылки форму и зачтавь ее .Открыть()
28 Slepoi7
 
24.09.14
13:37
&НаКлиенте
Процедура ВыборКА(Элемент, Область, СтандартнаяОбработка)
    ВыборКАНаСервере("01-00181");
        фрм = ЭлСпр.ПолучитьФорму();
    фрм.Открыть();
КонецПроцедуры

&НаСервере
Процедура ВыборКАНаСервере(ккк)
      ЭлСпр = Справочники.Контрагенты.НайтиПоКоду(ккк).Ссылка;
КонецПроцедуры
....
и ничего НЕТ !!! ??? ну не открывается и всё тут.....
29 Kamas
 
24.09.14
13:40
(28) хоть (14) читал??
30 Рэйв
 
24.09.14
13:41
&НаКлиенте
Процедура ВыборКА(Элемент, Область, СтандартнаяОбработка)
    ЭлСпр=ВыборКАНаСервере("01-00181");
    Если ЭлСпр.Пустая() Тогда    
         Сообщить("Фигвам. Не нашли.")  
         Возврат;
    КонецЕсли;
        фрм = ЭлСпр.ПолучитьФорму();
    фрм.Открыть();
КонецПроцедуры

&НаСервере
Функция ВыборКАНаСервере(ккк)
      ЭлСпр = Справочники.Контрагенты.НайтиПоКоду(ккк);
      Возврат ЭлСпр;
КонецФункции
31 Рэйв
 
24.09.14
13:45
+ и в фрм = ЭлСпр.ПолучитьФорму() Точно не помню, но помоему надо писать ее полный путь...
32 Slepoi7
 
24.09.14
14:03
&НаКлиенте
Процедура ВыборКА(Элемент, Область, СтандартнаяОбработка)
    ЭлСпр=ВыборКАНаСервере("01-00181");
    Если ЭлСпр.Пустая() Тогда    
         Сообщить("Фигвам. Не нашли.")  
         Возврат;
    КонецЕсли;
        фрм = ЭлСпр.ПолучитьФорму();
    фрм.Открыть();
КонецПроцедуры

&НаСервере
Функция ВыборКАНаСервере(ккк)
      ЭлСпр = Справочники.Контрагенты.НайтиПоКоду(ккк);
      Возврат ЭлСпр;  // здесь элемент справочника, а при возврате уже ничто... и посему фрм = ЭлСпр.ПолучитьФорму();
не идёт....
... ничего не идёт!!! и вторая попытка перехода на 3-ку ...
КонецФункции
33 Slepoi7
 
24.09.14
14:04
фиг нам всем
34 hhhh
 
24.09.14
14:07
(33) значит, элСпр - это реквизит, и тип у него мама не горюй.
35 Рэйв
 
24.09.14
14:09
(32)Сказки какие то рассказываешь:-)

Ну ладно, извратись вот так:

ЭлСпр = Справочники.Контрагенты.НайтиПоКоду(ккк);
Ответ=Новый Структура("Ссылка",ЭлСпр);
Возврат Ответ;


+ ЭлСпр=ВыборКАНаСервере("01-00181").Ссылка;
36 Slepoi7
 
24.09.14
14:22
&НаКлиенте
Процедура ВыборКА(Элемент, Область, СтандартнаяОбработка)
     Эл1 = ВыборКАНаСервере("01-00181");
    Если Эл1.Пустая() Тогда    
         Сообщить("Фигвам. Не нашли.");  
         Возврат;
    КонецЕсли;
  ПараметрыФормы = Новый Структура("Ключ", Эл1);
  ОткрытьФорму("Справочник.Контрагенты.ФормаОбъекта", ПараметрыФормы);

КонецПроцедуры

&НаСервере
Функция ВыборКАНаСервере(ккк)
      ЭСпр = Справочники.Контрагенты.НайтиПоКоду(ккк);
      Возврат ЭСпр;
КонецФункции
... УРА!!! идёт ... хотя и непонятно с какого бока параметр "Ключ" для формы ? Ладно бы "Код"...
37 hhhh
 
24.09.14
15:10
теперь с ЭлСпр попробуй.
38 Рэйв
 
24.09.14
15:14
(37)Может ЭлСпр у тебя реквизит формы с какимто экзотическим типом?..Тогда неудивительно.
39 arccos6pi
 
24.09.14
18:07
(36) А чем ОткрытьЗначение(Эл1) не подходит?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан